Set, instruction

Attribue une référence d’objet à une variable ou à une propriété.

Syntaxe

Setobjectvar= {[ New ] objectexpression | Nothing }

La syntaxe de l’instruction Set comprend les éléments suivants :

Élément Description
objectvar Obligatoire. Nom de la variable ou propriété ; respecte les conventions d’affectation de noms de variables standard.
New Facultatif. Le mot clé New est généralement utilisé dans les déclarations pour permettre les créations implicites d’objet. Utilisé avec Set, le mot clé New crée une instance de la classe. Si l’argument objectvar contenait une référence à un objet, cette dernière est abandonnée lors de l’association de la nouvelle. Le mot cléNew ne peut pas être utilisé pour créer de nouvelles instances d’un type de données intrinsèque et ne peut pas être utilisé pour créer des objets dépendants.
objectexpression Obligatoire. Expression représentant le nom d’un objet, d’une autre variable déclarée du même type objet ou d’une fonction ou méthode qui retourne un objet du même type.
Nothing Facultatif. Met fin à l’association entre objectvar et un objet donné. L’affectation de Nothing à objectvar libère toutes les ressources système et mémoire associées à l’objet précédemment référencé lorsqu’aucune autre variable ne lui fait référence.

Remarques

Pour être valide, l’argument objectvar doit avoir un type objet compatible avec l’objet auquel il est attribué.

Les instructions Dim, Private, Public, ReDim et Static déclarent exclusivement des variables faisant référence à un objet. Aucun objet réel n’est désigné tant que vous n’avez pas associé un objet particulier à la variable avec l’instruction Set.

L’exemple suivant illustre l’utilisation de Dim pour déclarer un tableau avec le type Form1. Aucune instance de n’existe Form1 réellement. Définir affecte ensuite des références à de nouvelles instances de Form1 à la myChildForms variable. Ce code peut être utilisé pour créer des formulaires enfants dans une application MDI.

Dim myChildForms(1 to 4) As Form1 
Set myChildForms(1) = New Form1 
Set myChildForms(2) = New Form1 
Set myChildForms(3) = New Form1 
Set myChildForms(4) = New Form1 

En règle générale, lorsque vous utilisez l’instruction Set pour associer une référence d’objet à une variable, aucune copie de l’objet n’est créée pour cette variable. En revanche, c’est une référence à l’objet qui est créée. Plusieurs variables objets peuvent faire référence au même objet. Ces variables constituant des références à l’objet et non des copies de ce dernier, toute modification apportée à l’objet est répercutée sur toutes les variables associées. Toutefois, lorsque vous utilisez le mot clé New dans l’instruction Set, vous créez en réalité une instance de l’objet.

Exemple

Cet exemple utilise l’instruction Set pour attribuer des références d’objet à des variables. YourObject est supposé être un objet valide avec une propriété Text.

Dim YourObject, MyObject, MyStr 
Set MyObject = YourObject    ' Assign object reference. 
' MyObject and YourObject refer to the same object. 
YourObject.Text = "Hello World"    ' Initialize property. 
MyStr = MyObject.Text    ' Returns "Hello World". 
 
' Discontinue association. MyObject no longer refers to YourObject. 
Set MyObject = Nothing    ' Release the object. 

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.