Visual Basic For Applications
Déclarer les variables et les constantes !

Apprenez les différents types de variables VBA, les constantes, comment bien les utiliser et les nommer pour avoir un code clair et intuitif.

Constantes et variables VBA

Les variables et constantes vba permettent de stocker des données et informations qui seront réutilisées dans votre code. Elles sont donc indispensables en VBA et plus elles sont maitrisées, plus votre code sera performant et fiable. Vos fichiers Excel en seront donc plus efficaces.

Les variables VBA

Les variables sont des informations qui pourront être modifiées au fur et à mesure que votre programme tourne : comme un compteur pour une boucle par exemple.

Les différents types de variables

Il existe plusieurs types de variable qui peuvent être utilisés. Classiquement, pour déclarer une variable généralement nous utilisons la mention DIM. Il existe d’autres façons de déclarer que nous verrons plus tard dans cet article.

Dim NomFeuille1 as string

La tableau ci-dessous donne les différents types de variables VBA. Le type est très important puisqu’il détermine la façon dont le code va traiter l’information.

Type de données Utilisation
String Pour les chaînes de caractères. Peut contenir jusqu’à 2 milliards de caractères
Integer Compteur numérique allant de -32 768 à 32 767
Long Compteur numérique allant de -2 147 483 648 à 2 147 483 647
Variant Quand le type ne peut pas être définie préalablement
Date Dates (du 1er janvier 100 au 31 décembre 9999)
Boolean Retourne une valeur Vrai/True (-1) ou Faux/False (0)
Byte Pour un compteur allant de 0 à 255
Double Pour gérer des données à virgule
Currency Permet de gérer des devises allant jusqu’à 4 chiffres après la virgule
Object Représente un Objet.

Les différentes déclarations de variables

Déclarer correctement les variables permet à la fois d’avoir un code clair, mais aussi dans certains cas d’éviter de devoir déclarer à nouveau la même information dans plusieurs macro ou module.

Astuce

Déclaré le Dim en début de module avant le sub() permet d’utiliser la variable dans l’ensemble de macros du module en question sans la redéclarer.

Vous trouverez ci-dessous les différentes possibilités de déclarations et de portée sachant que les plus importantes et utiles sont les 3 premières.

  • Dim : la variable ne peut être utilisée que dans la section ou elle est déclarée (pour la macro si elle est déclarée après le « sub » ou pour le module si elle est inscrite au tout début avant tous les « sub » de ce même module).
  • Static : la variable déclarée conservera sa valeur entre les appels après que le code soit exécuté. Elle conservera sa dernière valeur et ne reprendra pas sa valeur « d’origine ». Après fermeture du fichier, la variable static reprendra sa valeur d’origine.
  • Global : permet d’utiliser la variable dans tous les modules.
  • Public : peut être utilisée par toutes les macros qui n’appartiennent pas au même module.
  • Private : limite l’utilisation au module ou à la macro en question.
Information

Appelée également visibiilté, la notion de portée définie les limites d’accessibilité d’une variable.

Nommer ses variables

Comme pour ses fichiers, il est important d’appliquer des règles strictes pour nommer les variables. L’objectif étant que votre code soit le plus clair possible et donc, qu’il soit le plus facilement lisible. Les noms utilisés doivent être donc explicites, courts, simples et peuvent utiliser une combinaison de lettres de chiffres.

Les bonnes pratiques voudraient que tous les noms soient en anglais, pour un usage personnel vous pouvez cependant les nommer en français.

Pour les variables, nous recommandons d’appliquer la règle suivante : en minuscules sauf pour la première lettre de chaque mot et chaque mot n’étant pas séparé.

Par exemple :

Dim LoopCounter1 as integer
Dim AdresseClient as string

Les constantes

Comme pour une variable, une constante permet de stocker une valeur. Cependant, celle-ci ne pourra pas être modifiée et restera identique tout au long de l’exécution de la ou des macros.

Pour plus de clarté, les constantes doivent impérativement être déclarées en début de module.

Utilités

Les constantes sont un outil indispensable quand on commence à créer des macros plus ou moins complexes. Elles permettent de gagner du temps en évitant des modifications manuelles lorsqu’une donnée est utilisée à plusieurs endroit dans le code.

Elles participent donc à l’évolutivité et l’adaptabilité de vos macros vous permettant d’être plus flexible vis à vis des modifications de structure de fichier.

Par exemple :

Sub Sans_Constante()
 
	Range("A1").value = Range("B1").value * 0,2
	Range("A2").value = Range("B2").value * 0,2
	Range("A3").value = Range("B3").value * 0,2
	Range("B4").value = Range("B4").value * 0,2
 
End Sub
Const TAUX_TVA as integer = 0,2 'la constante est déclarée ici avant même le sub.
 
Sub Avec_Constante()
 
	Range("A1").value = Range("B1").value * TAUXTVA
	Range("A2").value = Range("B2").value * TAUXTVA
	Range("A3").value = Range("B3").value * TAUXTVA
	Range("B4").value = Range("B4").value * TAUXTVA
 
End sub

Nommer les constates

Il est également important de respecter une charte de nommage pour les constates. L’objectif étant de pouvoir les identifier le plus facilement possible dans le code tout en le rendant plus lisible.

Nous recommandons d’utiliser la règle suivante : uniquement en majuscules et utilisant l’underscore « _ » pour séparer chaque mot.

Par exemple :

Const TAUX_TVA as integer
Const NOM_FICHIER_SOURCE as string

Consulter le prochain article sur les boucles VBA.

Notez nous !
[Moyenne : 4.8]
2018-03-08T14:38:47+00:00