Création de variables d’objetCreating object variables

Vous pouvez traiter une variable objet exactement comme l’objet auquel elle se réfère.You can treat an object variable exactly the same as the object to which it refers. Vous pouvez définir ou retourner les propriétés de l’objet ou utiliser n’importe laquelle de ses méthodes.You can set or return the properties of the object or use any of its methods.

Créer une variable d’objetCreate an object variable

  1. Déclarez la variable objet.Declare the object variable.

  2. Affectez la variable objet à un objet.Assign the object variable to an object.

Déclarer une variable d’objetDeclare an object variable

Utilisez l’instruction Dim ou l’une des autres instructions de déclaration (public, Privateou static) pour déclarer une variable d’objet.Use the Dim statement or one of the other declaration statements (Public, Private, or Static) to declare an object variable. Une variable qui fait référence à un objet doit être une valeur de type Variant, un objet ou un type spécifique d’objet.A variable that refers to an object must be a Variant, an Object, or a specific type of object. Par exemple, les déclarations suivantes sont correctes :For example, the following declarations are valid:

' Declare MyObject as Variant data type. 
Dim MyObject 
' Declare MyObject as Object data type. 
Dim MyObject As Object 
' Declare MyObject as Font type. 
Dim MyObject As Font 

Notes

Si vous utilisez une variable objet sans l’avoir déclarée, elle prend par défaut le type de donnéesVariant.If you use an object variable without declaring it first, the data type of the object variable is Variant by default.

Vous pouvez déclarer une variable objet avec le type de données Object lorsque le type d’objet spécifique n’est pas connu avant l’exécution de la procédure.You can declare an object variable with the Object data type when the specific object type is not known until the procedure runs. Utilisez le type de données Object pour créer une référence générique à n’importe quel objet.Use the Object data type to create a generic reference to any object.

Si vous connaissez le type d’objet spécifique, vous devez déclarer la variable objet en tant que ce type.If you know the specific object type, you should declare the object variable as that object type. Par exemple, si l’application contient un type d’objet exemple, vous pouvez déclarer une variable d’objet pour cet objet à l’aide de l’une des instructions suivantes:For example, if the application contains a Sample object type, you can declare an object variable for that object by using either of these statements:

Dim MyObject As Object ' Declared as generic object. 
Dim MyObject As Sample ' Declared only as Sample object. 

La déclaration de types d’objet assure la vérification de type automatique, un code plus rapide et une meilleure lisibilité.Declaring specific object types provides automatic type checking, faster code, and improved readability.

Affecter une variable d’objet à un objetAssign an object variable to an object

Utilisez l’instruction Set pour affecter un objet à une variable d’objet.Use the Set statement to assign an object to an object variable. Vous pouvez assigner une expression d’objet ou Nothing.You can assign an object expression or Nothing. Par exemple, les affectations de variables d’objet suivantes sont valides.For example, the following object variable assignments are valid.

Set MyObject = YourObject ' Assign object reference. 
Set MyObject = Nothing ' Discontinue association. 

Vous pouvez combiner la déclaration d’une variable objet et l’affectation d’un objet à l’aide du mot clé New à l’aide de l’instruction Set .You can combine declaring an object variable with assigning an object to it by using the New keyword with the Set statement. Par exemple :For example:

Set MyObject = New Object ' Create and Assign 

L’affectation de la valeur Nothing à une variable objet interrompt l’association de la variable objet à un objet spécifique.Setting an object variable equal to Nothing discontinues the association of the object variable with any specific object. Cela permet d’éviter de changer accidentellement l’objet en changeant la variable.This prevents you from accidentally changing the object by changing the variable. Une variable objet est toujours définie sur Nothing après la fermeture de l’objet associé afin que vous puissiez tester si la variable objet pointe vers un objet valide.An object variable is always set to Nothing after closing the associated object so you can test whether the object variable points to a valid object. Par exemple :For example:

If Not MyObject Is Nothing Then 
 ' Variable refers to valid object. 
 . . . 
End If 

Bien entendu, ce test ne peut jamais déterminer avec une certitude absolue si un utilisateur a fermé l’application contenant l’objet auquel la variable objet fait référence.Of course, this test can never determine with absolute certainty whether a user has closed the application containing the object to which the object variable refers.

Faire référence à l’instance actuelle d’un objetRefer to the current instance of an object

Utilisez le mot clé me pour faire référence à l’instance actuelle de l’objet dans lequel le code est en cours d’exécution.Use the Me keyword to refer to the current instance of the object where the code is running. Toutes les procédures associées à l’objet actuel ont accès à l’objet auquel il est fait référence par Me.All procedures associated with the current object have access to the object referred to as Me. L’utilisation de Me est particulièrement pratique pour passer des informations sur l’instance actuelle d’un objet à une procédure d’un autre module.Using Me is particularly useful for passing information about the current instance of an object to a procedure in another module. Par exemple, supposons qu’un module comporte la procédure suivante :For example, suppose you have the following procedure in a module:

Sub ChangeObjectColor(MyObjectName As Object) 
 MyObjectName.BackColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256) 
End Sub

Vous pouvez appeler la procédure et transmettre l’instance actuelle de l’objet en tant qu’argument à l’aide de l’instruction suivante:You can call the procedure and pass the current instance of the object as an argument by using the following statement:

ChangeObjectColor Me 

Voir aussiSee also

Assistance et commentairesSupport and feedback

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ?Have questions or feedback about Office VBA or this 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.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.