Alors, prêts pour la création de votre première macro VBA?
En 2 minutes top chrono? Que c'est impossible? Chiche!
Créer et lancer votre première Macro VBA
Voici les principales étapes à suivre pour faire fonctionner votre première macro:
-
Créez un nouveau fichier Excel
Rien de bien compliqué ici… Il suffit tout simplement d'ouvrir un nouveau fichier Excel.
-
Ouvrez le Éditeur VBA (VBE) avec Alt + F11
Le raccourci clavier
Alt
+F11
va ouvrir l'éditeur des macros en VBA…
-
Dans l'éditeur VBA, ajoutez un "Module"
Dans la partie gauche de l'éditeur, vous avez la liste des éléments de votre "Projet VBA".
Cliquez avec le bouton droit sur "ThisWorkbook" ensuite choisissez "Insertion" et "Module". Ceci va créer un Module qui est un "conteneur" de base où le code VBA est stocké. A droite, une "page" blanche va s'afficher. C'est votre premier "Module" qui est, pour le moment, vide…
-
Ajoutez le code VBA dans le "Module"
Copiez le code qui suit et collez le dans votre "Module"…
12345678910111213141516171819202122Sub PremiereMacroVBA()Range("A1").Value = "Jour:"Range("B1").Value = Day(Date)Range("A2").Value = "Mois:"Range("B2").Value = Month(Date)Range("A3").Value = "Année:"Range("B3").Value = Year(Date)Range("A5").Value = "Heures:"Range("B5").Value = Hour(Now)Range("A6").Value = "Minutes:"Range("B6").Value = Minute(Now)Range("A7").Value = "Secondes:"Range("B7").Value = Second(Now)Range("B1:B3").Interior.Color = vbBlackRange("B1:B3").Font.Color = vbWhiteRange("B5:B7").Font.Bold = TrueMsgBox "Félicitations, votre première macro en VBA fonctionne!"End Sub -
Retournez dans la fenêtre principale de votre fichier Excel
Pour voir ce que la Macro va faire, retournez dans la fenêtre avec votre fichier Excel. Les Macros VBA en Excel peuvent être lancées à partir de l'éditeur de VBA ou à partir de la fenêtre principale d'Excel.
-
Lancez votre Première Macro avec Alt + F8
En utilisant le raccourci clavier
Alt
+F8
, une fenêtre va s'afficher avec la liste des macros disponibles. Vous choisissezPremiereMacroVBA
(normalement cela devrait être la seule Macro dans la liste) et vous cliquez sur le bouton "Exécuter" pour la lancer. -
Admirez le résultat de votre travail…
Et voilà… C'est fait… Alors, vous voyez ce qui est possible de faire en 2 minutes? 🙂
Quelques explications…
Et voici déjà quelques explications concernant la Macro et son utilisation. (Vous trouverez les informations détaillées dans les chapitres suivants…)
Comme je l'ai mentionné dans le chapitre précédent, vous pouvez voir que le code VBA est assez explicite et vous pouvez bien imaginer ce que le code va faire sans même l'exécuter. Il faut admettre qu'une connaissance (au moins basique) de l'anglais aide beaucoup à la compréhension.
Qu'est-ce qu'identifie une macro VBA?
La principale "unité de code VBA" (alias "macro") est une "Routine". Chaque routine est, dans le code VBA, délimitée par Sub NomDeRoutine()
au début et par End Sub
à la fin. Pour commencer, nous allons travailler avec des simples routines "autonomes" mais sachez qu'il est possible de lancer une routine à l'intérieur d'une autre routine. Cela agrandit la flexibilité du codage en VBA et cela vous permet de facilement réutiliser le code déjà existant.
Ce que le code de cette macro fait
Dans la première partie (lignes 2 à 14 du code), le code ajoute dans la colonne "A" de la Feuille active les intitulés ("Jour:", "Mois:", etc.). Ensuite, la colonne "B" est remplie avec les valeurs correspondantes:
- le nombre d'années, de mois, de jours: pour cela, on utilise les fonctions VBA
Year()
,Month()
,Day()
et la valeur de la fonctionDate
qui correspond à la date d'aujourd'hui - le nombre de heures, de minutes et de secondes: dans ce cas, on utilise les fonctions VBA
Hour()
,Minute()
,Second()
qui extraient les informations de la valeur renvoyée par la fonctionNow
qui correspond au "moment actuel"
Dans la deuxième partie du code (lignes 16 à 19), vous pouvez voir l'exemple de la mise en forme des plages.
Range("B1:B3").Interior.Color = vbBlack
colorie le fond des cellules B1 à B3 en noirRange("B1:B3").Font.Color = vbWhite
colorie les textes dans les cellules de la même plage en blancRange("B5:B7").Font.Bold = True
mets les textes dans les cellules B5 à B7 en gras (True
= Vrai)
Dans la dernière partie (ligne 21) affiche une fenêtre pop-up avec un message. L'instruction MsgBox
lance le pop-up, le texte qui suit entre guillemets est alors affiché…
Téléchargez la démo
Ici vous pouvez télécharger le fichier qui contient le code utilisé dans cette démo:
Taille de fichier: 15,4 Ko
2. Première macro Excel en 2 minutes!
2 commentaires sur “Cours VBA: 2. Première macro Excel en 2 minutes!”
bonjour, pourriez-vous m'indiquer comment me procurer le court complet svp verssion pdf ou livre …
Bonjour,
Pour le moment, ce cours est toujours "en chantier". J'avance au fur-et-à-mesure comme le temps disponible me le permet…
Cordialement, Martin