Vous avez vu dans le chapitre précédent comment réaliser des macros avec l’enregistreur de macro intégré à Excel, et faire quelques modifications. L’enregistrement des macros, c’est très bien pour des macros “simples”, mais quand vous voulez rajouter des fonctionnalités ou optimiser les macros, il faut commencer à écrire du code... Les variables sont la première chose que nous allons voir ensemble. Cela va vous permettre de faire des boucles, des tests, ou encore d’utiliser un formulaire.
Dans la première partie de ce chapitre, nous allons commencer par définir ce qu’est une variable, à quoi ça sert et quelle forme cela prend. Nous verrons ensuite comment les utiliser au travers des opérateurs et des boucles.
Déclarez une variable
Le VBA ne fait pas exception à la règle : comme tous les langages de programmation, il utilise des variables. Prenons une définition simple : une variable, c’est un élément auquel on affecte une valeur.
Par exemple, je peux créer une variable qui s’appelle
annee_de_naissance
dans laquelle je vais stocker un nombre comme1987
.
Mais pourquoi utiliser une variable pour stocker un nombre ? Autant l’utiliser directement, non ?
Effectivement, si nous ne l’utilisons qu’une seule fois dans notre code, autant écrire directement le nombre. Mais si je vous dis maintenant que cette variable, ce n’est pas moi qui vais la définir, mais qu'à terme, cela va être automatiquement mis à jour en fonction de différentes informations dans le projet ?
Vous commencez peut-être à comprendre…
Distinguez les grands types de variables
Comme vu précédemment, une variable est un élément qui peut contenir des informations, elle n’est pas statique. Le nombre peut changer en fonction d'événements extérieurs ou en fonction d’une information dans le code. Nous pouvons donc associer à une variable une valeur (on charge une variable avec une valeur). En VBA, il faut définir le type d’une variable avant de pouvoir l’utiliser.
Voici un tableau (non exhaustif) avec les principales variables que nous allons utiliser :
Type | Type de variable | Détails |
Texte | String | Texte |
Date | Date | Date et heure |
Boolean | Boolean | Vrai ou faux |
Numérique | Byte | Nombre entier allant de 0 à 255 |
Numérique | Integer | Nombre entier allant de -32 768 à +32 767 |
Numérique | Long | Nombre entier allant de - 2,1 milliards jusqu’à +2,1 milliards |
Numérique | Float | Nombre à virgule |
Objet | Objet | Objet |
Vous pouvez donc définir une variable pour contenir du texte, des nombres entiers, des nombres à virgule, des booléens, etc.
Mais alors, si en type texte je peux également stocker des nombres, à quoi ça sert tous les autres types de variables ?
Afin de comprendre l’importance des types de variables, je vous propose un exemple.
Je crée deux variables :
Annee_de_naissance
en ‘string’ où je stocke la valeur1987
;
Age
en ‘integer’ où je stocke la valeur de35
.Maintenant, je vous demande d’additionner les deux variables. Quelle réponse me donnez-vous ?
“2022”, et vous avez raison !
Maintenant, demandons la même chose en VBA. Nous allons avoir comme résultat “35”.
Pourquoi ? Simplement car nous ne pouvons pas additionner un type string (texte) avec un type integer (numérique). Le VBA va additionner seulement le 35 avec rien.
Vous comprenez l’importance de bien définir les variables dès le début du projet. En fonction du type de variable, nous ne pourrons pas les utiliser de la même façon ni pour faire les mêmes choses. Certaines actions ne sont possibles qu’avec un type de variable spécifique.
Maintenant que vous avez compris l’importance des types, vous allez créer votre première variable.
Écrivez votre première ligne de code !
Voici le code pour créer la variable annee_de_naissance
:
dim annee_de_naissance as integer
Essayons de décortiquer cette première ligne de code que vous venez d’écrire dans l’éditeur VBA.
On y retrouve 4 mots différents :
“Dim” : (raccourci de "Dimension") , permet de faire comprendre à l’éditeur VBA qu’on va créer une nouvelle variable, et déclarer ses dimensions (nom, type etc.) ;
“annee_de_naissance ” : nom de la variable que nous souhaitons créer ;
“As” : permet d’associer un type à la variable ;
“Integer” : type de la variable.
Il y a plusieurs bonnes pratiques à mettre en place quand vous créez des variables dans un projet :
Un nom explicite de ce que va contenir la variable.
Pas d’espace. Si vous voulez utiliser deux mots, séparez-les avec un “_”.
Pas de majuscule.
C’est bien joli de savoir déclarer une variable, mais à quoi ça sert si elle est vide, et comment je la charge ?
Eh bien, cette partie est très simple, si on reprend notre exemple. Il suffit simplement d’écrire :
annee_de_naissance = 1987
Voilà, vous venez de charger le nombre 1987 dans votre variable.
Si vous voulez voir le contenu de votre variable, utilisez la commande “msgbox
”.
MsgBox (annee_de_naissance)
Cette commande va vous afficher “1987” dans une fenêtre Windows dans Excel.
Vous pouvez également voir la valeur de cette variable en utilisant le panneau des variables locales dans l’éditeur VBA.
Comme vous pouvez voir dans le panneau des variables locales de mon exemple, la variable age
contient35
. Le 35 est entre guillemets alors que le 1987 n’a pas de guillemets. Si on regarde le type, on voit que annee_de_naissance
est un ‘integer’ et age
une ‘string’. Les guillemets autour du 35 nous indiquent que le nombre est stocké comme une chaîne de caractères (donc entre guillemets).
En résumé
Une variable est un élément auquel on affecte une valeur.
Il existe plusieurs types de variables, tels que ‘integrer’, ‘string’, ‘date’, etc.
Les différents types de variables ne s’additionnent pas entre eux. Il faut donc bien choisir le type de variable à utiliser pour ses informations.
Vous venez de découvrir les différents types de variables et comment les utiliser. Suivez-moi dans le prochain chapitre pour découvrir comment les comparer entre eux.