Les Variables en VBA
Les variables peuvent être déclarées autant dans une procédure que dans un module, tout dépendant de l'endroit où leur déclaration a été faite.
Ainsi, une variable déclarée à l'intérieur d'une procédure n’existera que pour les instructions VBA à l'intérieur de cette procédure suite à la déclaration et sa valeur, tout comme son existence, disparaîtra une fois la procédure terminée.
Dans le même esprit, une variable déclarée dans un module est déclarée à l'extérieur d'une procédure et conserve sa valeur et son existence tant et aussi longtemps que l'exécution dans le module n'est pas terminée. En revanche, cette valeur et cette existence sont partagées entre toutes les procédures du module.
Déclaration d'une variable VBA
La déclaration d'une variable en tant que telle est assez simple. Il suffit d'inscrire:
Dim nomVariable As Type
Les types de variables VBA
Plusieurs types de variables existent, le tableau ci-joint identifie les types de variables les plus communs :
Types de variable | Description (Valeur) |
Byte | 0 à 255 |
Boolean | True ou False |
Integer | -32 768 à 32 767 |
Long | -(2 147 483 648) à (2 147 483 647) |
Single | Chiffre à virgule flottante en simple précision |
Double | Chiffre à virgule flottante en double précision |
Currency | -(922 337 203 685 477,5808) à (922 337 203 685 477,5807) |
Decimal | Chiffre à 28 décimales |
Date | 1er janvier 100 au 31 décembre 9999 |
Object | Référence à des données object |
String | 0 à environ 2 milliards (chiffre) |
1 à environ 65400 (texte) | |
Variant | Chiffre inclus dans la valeur double |
Texte identique a string |
Option Explicit
Il est important de noter que tout mot inconnu par le langage VBA est automatiquement considéré comme une variable. De plus, toute variable (déclarée ou non) dont le type n’est pas défini est en variant.
Il n'y a aucune vérification. Donc, une erreur de saisie d'un nom de variable est possible et conduira à l'interprétation de l'existence de deux variables.
L'instruction Option Explicit sert justement à éviter ce problème en rendant la déclaration des variables obligatoire. Ainsi, si une variable n’est pas déclarée et que Option Explicit est inscrit dans les premières lignes, alors nous obtiendrons un message d’erreur :
On peut demander que cette ligne soit écrite automatiquement sur chaque nouveau module.
Pour cela on fait : Outils/Options … et on coche la seule case qui ne l’est pas :
La déclaration de constantes VBA
Les constantes sont comme les variables à ceci près qu’elles reçoivent la valeur lors de la déclaration et que leurs valeurs ne peuvent pas être modifiées dans le code après cette déclaration.
Celles-ci peuvent être utiles lorsque l’on désire utiliser une valeur donnée à plus d’une reprise et que celle-ci peut parfois être amenée à devoir être changée suite à un changement de situation ou encore de législation, puisqu’elles permettent de faire le changement en un seul emplacement.
La taxe en est un bon exemple.
À noter que Const est requis au début de la déclaration et qu’aucune précision de type n’est requise, celui-ci étant choisi selon la valeur associée.
Exemple de déclaration de constante :
Const varTPS = 5/100