Avec le Visual Basic for Ap­pli­ca­tions, vous pouvez vous occuper de l’au­to­ma­ti­sa­tion des processus de travail dans Excel. De cette manière, vous gagnez du temps et vous vous assurez que vos données sont au­to­ma­ti­que­ment mises à jour.

Excel avec Microsoft 365 pour les en­tre­prises et IONOS !
La solution Office que vous con­nais­sez, encore mieux
  • Boîte email Exchange jusqu’à 50 Go
  • Dernières versions de vos ap­pli­ca­tions Office préférées
  • As­sis­tance gratuite pour l’ins­tal­la­tion

Qu’est-ce que le VBA ?

VBA est l’abré­via­tion de Visual Basic for Ap­pli­ca­tion, un langage de script dis­po­nible pour les uti­li­sa­teurs de Microsoft Office dans des ap­pli­ca­tions telles qu’Excel. Le VBA a été développé dans les années 1990 pour stan­dar­di­ser les dif­fé­rentes macro-langues des ap­pli­ca­tions in­di­vi­duelles. Avec VBA Excel, les flux de travail réguliers peuvent être au­to­ma­ti­sés et des outils pratiques de gestion de projet ou de comp­ta­bi­lité peuvent être générés.

Comme toute autre ap­pli­ca­tion Office, Excel est composé de dif­fé­rents objets, tels que des feuilles de calcul, des cellules ou des tableaux. Les méthodes et pro­prié­tés de ces objets peuvent être con­trô­lées ma­nuel­le­ment ou, si né­ces­saire, via la pro­gram­ma­tion VBA. Grâce à l’éditeur intégré à l’ap­pli­ca­tion, vous pouvez générer des actions au­to­ma­ti­sées. Ce n’est pas aussi compliqué qu’il n’y paraît, car les dif­fé­rents éléments de code sont déjà pré­dé­fi­nis. Votre tâche consiste sim­ple­ment à assembler ces éléments de manière à créer une solution per­son­na­li­sée. Ces solutions, également appelées macros Excel, fa­ci­li­tent entre autres l’or­ga­ni­sa­tion, la mise en forme ou l’im­por­ta­tion de données.

Ouvrir Excel VBA : comment procéder ?

Avant de pouvoir commencer à pro­gram­mer en VBA, l’étape initiale consiste à ouvrir Excel VBA. Pour ce faire, vous pouvez sim­ple­ment utiliser la com­bi­nai­son de touches [Alt] + [F11]. L’éditeur s’ouvre alors au­to­ma­ti­que­ment.

Une autre pos­si­bi­lité vous est offerte par la barre de menu d’Excel : dans l’onglet « Dé­ve­lop­peur », cliquez sur « Visual Basic » pour ouvrir Excel VBA.

Il se peut également que les outils de dé­ve­lop­pe­ment ne soient pas affichés. Si c’est le cas, vous pouvez ajouter des onglets à votre barre de menus via « Fichier » > « Options » > « Per­son­na­li­ser le ruban ». Sous « Onglets prin­ci­paux », sé­lec­tion­nez « Dé­ve­lop­peur ».

Image: Excel : ajouter l’onglet Développeur
Sé­lec­tion­nez l’option « Dé­ve­lop­peur » via le ruban et les onglets prin­ci­paux.
Note

Les ins­truc­tions pré­sen­tées dans cet article fonc­tion­nent pour les versions d’Excel à partir d’Office 2016 ainsi que pour Microsoft 365.

Excel VBA : le tutoriel pour débutants

Avant de créer un nouveau programme pour Excel avec Visual Basic, vous devez d’abord disposer d’un cadre de base. Vous rem­plis­sez ensuite ce for­mu­laire avec les modules de code.

Étape 1 : une fois que l’éditeur VBA est ouvert, cliquez sur « Insertion » > « Module » pour ajouter un nouveau module.

Image: Excel : ajouter un nouveau module
Insérez un nouveau module dans l’éditeur VBA pour passer à l’étape suivante.

Étape 2 : inscrivez main­te­nant « Option Explicit » et « Option Base 1 » dans le champ de saisie. Cela permet de définir les types de pro­cé­dures Subs et Functions. Les subs sont des sous-pro­grammes qui se composent uni­que­ment d’ins­truc­tions, sans valeur de retour. Les valeurs de retour sont obtenues par l’uti­li­sa­tion de fonctions, qui sont donc adaptées aux calculs ma­thé­ma­tiques. Les réponses du programme sont affichées sous forme de fenêtres de dialogue.

Image: Excel : cadre de base VBA
Entrez Option Explicit et Option Base 1 dans le champ de saisie.

Utiliser les variables

Dans Excel Visual Basic, les variables rem­plis­sent la même fonction que dans les équations ma­thé­ma­tiques. Cependant, elles servent non seulement de supports pour les valeurs, mais aussi pour les chaînes de ca­rac­tères ou les objets. L’uti­li­sa­tion de variables est toujours utile lorsque des éléments sont abordés plus d’une fois. Dans le code VBA, vous devez déclarer une variable en tant que type de données. Pour déclarer une variable ex­pli­ci­te­ment, utilisez cette dé­cla­ra­tion : Dim [Variable] As [Type de donnée].

Exemple : Dim dateDebut As Date signale à la VBA qu’une variable portant le nom « dateDebut » du type de données « Date » doit être créée.

En fonction du contenu des variables, vous devez sé­lec­tion­ner le type de données correct dans Excel VBA. Voici un aperçu des types de données les plus cou­ram­ment utilisés et de leurs ca­rac­tères de dé­cla­ra­tion :

  • Variant : peut contenir n’importe quelle donnée, comme des valeurs nu­mé­riques, chaînes de ca­rac­tères, valeurs de l’heure ou de la date. Une variante est également au­to­ma­ti­que­ment spécifiée si vous ne déclarez pas ex­pli­ci­te­ment un type de données. Caractère de la dé­cla­ra­tion de type : non défini
  • Integer : est utilisé pour les entiers qui ont une valeur de -32.768 à 32.767. Ca­rac­tères de la dé­cla­ra­tion de type : %()
  • Long : est utilisé pour les nombres entiers allant de-2.147.483.648 à 2.147.483.647. Ca­rac­tères de la dé­cla­ra­tion de type : (&)
  • Double : comprend tous les nombres à virgule flottante d’environ plus ou moins 1,79 10^308. Ca­rac­tères de la dé­cla­ra­tion de type : (#)*
  • Boolean : il s’agit ex­clu­si­ve­ment des variantes True ou False. S’affiche ainsi : True or False ou #TRUE# or #FALSE#
  • String : désigne les chaînes de longueur variable ou fixe. Ca­rac­tères de la dé­cla­ra­tion de type : ($)
  • Date : sert à préciser l’heure et la date. Les heures peuvent être spé­ci­fiées de 00:00:00 (minuit) à 23:59:59.9999999. Le format pour la date est MM/JJ/AA ou AAAA-MM-JJ.

Les commandes VBA les plus courantes

Dé­cla­ra­tion Do…Loop

Do
Commande
Loop [While/Until] Expression

Avec le Do Loop, vous exécutez des commandes qui doivent être répétées aussi souvent que vous le souhaitez jusqu’à ce qu’une certaine condition soit remplie. Avec While, la boucle est répétée jusqu’à ce que l’ex­pres­sion soit « False ». Avec Until, la boucle est répétée jusqu’à ce que l’ex­pres­sion soit « True ».

Dé­cla­ra­tion For…Next

For
Variable = [Valeur de départ] To Step [Valeur]
Commande
Next Variable

Avec la boucle For, les dé­cla­ra­tions sont répétées aussi souvent que spécifié. Elle commence lorsque la variable atteint la valeur de départ et augmente de la valeur « Step » spécifiée jusqu’à ce que la valeur finale soit atteinte.

Dé­cla­ra­tion If…Then…Else

If [Expression1] Then
Commande1
Elseif [Expression2] Then
Commande2
Else
Commande3
End if

La décision If exécute une série de dé­cla­ra­tions qui dépendent de la justesse d’une ex­pres­sion. Si l’ex­pres­sion1 dans le code ci-dessus est correcte, la commande1 est exécutée au­to­ma­ti­que­ment. Si elle n’est pas correcte, le système vérifie si l’ex­pres­sion2 est correcte. Si c’est le cas, la commande2 est exécutée. Si les deux ex­pres­sions ne sont pas correctes, cela active la commande3.

Conseil

Le travail efficace avec Excel n’est pas seulement facilité par la pro­gram­ma­tion VBA, mais aussi par l’uti­li­sa­tion d’outils per­met­tant de gagner du temps, tels qu’avec les rac­cour­cis Excel.

Excel VBA : exemple pratique

La meilleure façon d’apprendre Excel VBA est de s’entraîner à l’aide d’exemples pratiques. Voici une simple dé­cla­ra­tion If…Then…Else :

Image: Excel VBA : exemple
Voici un tableau Excel avec des valeurs d’exemple.

Une macro Excel est utilisée pour montrer si le candidat 142 (Cellule A2) a réussi un test. Pour réussir, il doit avoir obtenu au moins 60 points.

Image: Excel VBA : fonction VBA avec une déclaration If-Else
Entrez le code pour le If-Test, puis confirmez.

Le code VBA ci-dessus If Range("b2").Value >= 60 Then Range("c2").Value = "Oui" précise la condition qui ré­pon­drait « Oui » à la situation de la cellule C2. Si vous cliquez ensuite sur le bouton de lecture dans la barre de menu su­pé­rieure et dans la fenêtre suivante sur « Exécuter », la pro­gram­ma­tion VBA est mise en route et la cellule C2 remplie au­to­ma­ti­que­ment :

Image: Excel VBA : exécuter la commande IF_TEST1
Exécutez la commande grâce à la boîte de dialogue des macros.
Image: Excel VBA : tableau rempli
La réponse s’affiche au­to­ma­ti­que­ment dans la cellule C2.

Il s’agit d’un exemple très simple qui devrait donner aux débutants une première im­pres­sion de Visual Basic dans Excel. Sur Internet, vous trouverez de nombreux autres exemples d’uti­li­sa­tion que vous pouvez mettre en pratique.

Stockage en ligne HiDrive Next
Vos données ac­ces­sibles partout et à tout moment
  • Modifiez, partagez et stockez vos fichiers
  • Data centers européens certifiés ISO
  • Sécurité élevée des données, conforme au RGPD
Aller au menu principal