Visual Basic For Applications
Déclarer les variables et les constantes en VBA !
Apprenez à utiliser les variables et les constantes en VBA sur Excel, Word ou Powerpoint, pour avoir un code clair et intuitif.
Constantes et variables en VBA
Les variables et constantes en VBA permettent de stocker des données et informations qui seront réutilisées dans votre code. Elles sont donc indispensables en VBA. Si elles sont bien maitrisées, votre code sera performant et fiable. Vos fichiers Excel en seront donc plus efficaces.
Les variables en 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 en VBA
Il existe plusieurs types de variable qui peuvent être utilisés. Pour déclarer une variable nous utilisons généralement la mention DIM. Il existe pourtant d’autres façons de déclarer des variables 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 VBA ou module.
Déclaré le DIM en début de module avant le sub() permet d’utiliser la variable dans l’ensemble de macros VBA 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 VBA 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.
Appelée également visibiilté, la notion de portée définie les limites d’accessibilité d’une variable en VBA.
Comment nommer ses variables en VBA ?
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 en VBA
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.
Leurs utilités
Les constantes sont un outil indispensable lorsqu’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 endroits 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 |
Comment nommer les constates en VBA ?
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.