Partager via


Déclaration de variables

En règle générale, lorsque vous déclarez des variables, vous utilisez une instruction Dim. Une instruction de déclaration peut être placée dans une procédure pour créer une variable procedure-level. Elle peut aussi être placée en haut d’un module, dans la section Déclarations, pour créer une variable module-level.

L’exemple suivant crée la variable et spécifie le type de données String.

Dim strName As String 

Si cette instruction apparaît dans une procédure la variable strName peut être utilisée uniquement dans cette procédure. Si l’instruction apparaît dans la section Déclarations du module, la variable strName est disponible pour toutes les procédures dans le module, mais pas pour les procédures d’autres modules du projet.

Pour que cette variable soit disponible pour toutes les procédures dans le projet, faites-la précéder de l’instruction Public, comme dans l’exemple suivant :

Public strName As String 

Pour plus d’informations sur l’appellation des variables, voir la rubrique Règles d’affectation des noms Visual Basic.

Vous pouvez déclarer les variables avec l’un des types de données suivants : Boolean, Byte, Integer, Long, Currency, Single, Double, Date, String (pour les chaînes de longueur variable), String * longueur (pour les chaînes de longueur fixe), Object ou Variant. Si vous ne spécifiez pas un type de données, le type de données Variant est affecté par défaut. Vous pouvez également créer un type défini par l’utilisateur à l’aide de l’instruction Type.

Vous pouvez déclarer plusieurs variables dans une instruction. Pour spécifier un type de données, vous devez inclure le type de données pour chaque variable.

Dans l’instruction suivante, les variables intX, intY et intZ sont déclarées avec le type Integer.

Dim intX As Integer, intY As Integer, intZ As Integer 

Dans l’instruction suivante, intX et intY sont déclarées avec le type Variant ; et seule intZ est déclarée avec le type Integer.

Dim intX, intY, intZ As Integer 

Vous n’avez pas à fournir le type de données de la variable dans l’instruction de la déclaration. Si vous omettez le type de données, la variable sera de type Variant.

Vous pouvez également utiliser un caractère de type d’identificateur pour spécifier le type de données. Dans l’instruction suivante, x est déclaré en tant que long, et y et sont z déclarés en tant qu’entiers :

Dim intX&, intY%, intZ as Integer

Public, instruction

Vous pouvez utiliser l’instruction Public pour déclarer des variables publiques au niveau du module.

Public strName As String 

Les variables publiques peuvent être utilisées dans toutes les procédures du projet. Si une variable publique est déclarée dans un module standard ou un module de classe, elle peut également être utilisée dans tous les projets qui font référence au projet dans lequel elle est déclarée.

Private, instruction

Vous pouvez utiliser l’instruction Privé pour déclarer des variables privées au niveau du module.

Private MyName As String 

Les variables privées ne peuvent être utilisées que par les procédures d’un même module.

Remarque

Remarque Lorsqu’elle est utilisée au niveau du module, l’instruction Dim équivaut à l’instruction Private. Vous pouvez utiliser l’instruction Private pour faciliter la lecture et l’interprétation de votre code.

Static, instruction

Lorsque vous utilisez l’instruction Static plutôt qu’une instruction Dim pour déclarer une variable dans une procédure, la variable déclarée conservera sa valeur entre les appels à cette procédure.

Option Explicit, instruction

Vous pouvez déclarer implicitement une variable dans Visual Basic en l’utilisant simplement dans une instruction d’affectation. Toutes les variables déclarées implicitement sont de type Variant. Les variables de type Variant nécessitent davantage de ressources mémoire que la plupart des autres variables. Votre application sera plus efficace si vous déclarez des variables explicitement et avec un type de données spécifique. La déclaration explicite de toutes les variables réduit l’incidence d’erreurs de conflit d’appellation et les fautes d’orthographe.

Si vous ne souhaitez pas que Visual Basic effectue des déclarations implicites, placez l’instruction Option Explicit dans un module devant toutes les procédures. Cette instruction exige que vous déclariez explicitement toutes les variables dans le module. Si un module inclut l’instruction Option Explicit, une erreur compile-time se produit lorsque Visual Basic rencontre un nom de variable qui n’a pas été précédemment déclaré ou qui a été orthographié de façon incorrecte.

Vous pouvez définir une option dans votre environnement de programmation Visual Basic pour inclure automatiquement l’instruction Option Explicit dans tous les nouveaux modules. Consultez la documentation de votre application pour obtenir de l’aide sur la façon de modifier les options de l’environnement Visual Basic. Sachez que cette option ne modifie pas le code que vous avez écrit.

Remarque

Vous devez déclarer explicitement les tableaux fixes et les tableaux dynamiques.

Déclaration d’une variable objet pour l’automatisation

Lorsque vous utilisez une application pour contrôler les objets d’une autre application, vous devez définir une référence à la bibliothèque de types de l’application. Après avoir défini une référence, vous pouvez déclarer des variables objet selon leur type le plus spécifique. Par exemple, si vous êtes dans Microsoft Word lorsque vous définissez une référence à la bibliothèque de types de Microsoft Excel, vous pouvez déclarer une variable du type Feuille de calcul dans Word pour représenter un objet Feuille de calcul Excel.

Si vous utilisez une autre application pour contrôler des objets Microsoft Access, dans la plupart des cas, vous pouvez déclarer des variables objet selon leur type le plus spécifique. Vous pouvez également utiliser le mot clé New pour créer automatiquement une instance d’un objet. Toutefois, vous devrez peut-être indiquer qu’il s’agit d’un objet Microsoft Access. Par exemple, lorsque vous déclarez une variable objet pour représenter un formulaire Access dans Visual Basic, vous devez faire la distinction entre l’objet Form de Access et un objet Form de Visual Basic. Incluez le nom de la bibliothèque de types dans la déclaration de la variable, comme dans l’exemple suivant :

Dim frmOrders As New Access.Form 

Certaines applications ne reconnaissent pas les types d’objet Access individuels. Même si vous définissez une référence à la bibliothèque de types de Access dans ces applications, vous devez déclarer toutes les variables objet Access avec le type Object. Vous ne pouvez pas non plus utiliser le mot clé New pour créer une instance de l’objet.

L’exemple suivant montre comment déclarer une variable pour représenter une instance de l’objet Application d’Access à partir d’une application qui ne reconnaît pas les types d’objet Access. L’application crée ensuite une instance de l’objet Application.

Dim appAccess As Object 
Set appAccess = CreateObject("Access.Application")

Pour déterminer la syntaxe prise en charge par une application, consultez la documentation de l’application.

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.