L’éditeur VBE d’Excel : explorateur de projet, propriétés, code, espions et Debug.Print
L’éditeur Visual Basic (VBE) est l’atelier du code VBA : c’est là que l’enregistreur de macros dépose son code, et là que vous le lisez, le corrigez et le testez. Six fenêtres suffisent à travailler efficacement : l’explorateur de projet, la fenêtre des propriétés, la zone de code, l’explorateur d’objets, la fenêtre d’exécution et la fenêtre des espions. Chaque séquence propose un simulateur. Pour débuter, voir d’abord l’enregistreur de macros.
Accéder à l’éditeur
Le raccourci universel est Alt + F11 : il ouvre l’éditeur et, pressé à nouveau, revient à Excel. On y accède aussi par Développeur › Visual Basic, par un clic droit sur un onglet de feuille › Visualiser le code, ou depuis la liste des macros (Alt + F8) › Modifier, qui ouvre directement la bonne procédure. Le point d’arrivée n’est pas le même selon la méthode.
L’explorateur de projet
L’explorateur de projet (Ctrl + R) liste chaque classeur ouvert comme un projet VBA. On y trouve les objets Microsoft Excel (une entrée par feuille, plus ThisWorkbook), les modules standard où vit le code des macros, les UserForms et les modules de classe. Double-cliquez sur un élément pour afficher son code. Clic droit › Insertion › Module pour en créer un, clic droit › Supprimer (Excel propose de l’exporter en .bas avant).
Feuil1.Range("A1")), le nom entre parenthèses est celui de l’onglet. Renommer l’onglet ne casse pas un code qui utilise le nom de code.La fenêtre des propriétés
La fenêtre des propriétés (F4) affiche les propriétés de l’élément sélectionné dans l’explorateur de projet. Pour une feuille : (Name), le nom de code, Name, le nom de l’onglet, et Visible, qui accepte un troisième état introuvable dans Excel : xlSheetVeryHidden. Pour un module, seule la propriété (Name) existe : c’est ainsi qu’on renomme Module1.
wsTarifs, modOutils.La zone d’édition du code
La fenêtre de code s’ouvre par double-clic dans l’explorateur de projet. En haut, deux listes : Objet (Général, ou Worksheet pour une feuille) et Procédure, qui permet d’atteindre une macro. L’éditeur colore le code (mots-clés en bleu, commentaires en vert, lignes fautives en rouge), corrige la casse des mots connus à la validation de la ligne et propose la liste des membres (IntelliSense) après un point. Ctrl + Espace complète un mot.
Option Explicit, et une faute de frappe dans un nom de variable devient une erreur signalée au lieu d’une variable vide.MsgBox ou Range avec leurs majuscules, le mot est reconnu. S’il reste en minuscules, c’est une faute de frappe ou une variable non déclarée.L’aide et l’explorateur d’objets
F1, le curseur placé sur un mot-clé, ouvre la page d’aide Microsoft correspondante. L’explorateur d’objets (F2) liste les classes de la bibliothèque Excel (Range, Worksheet, Workbook, Application…) et leurs membres : propriétés (icône main), méthodes (icône brique verte) et événements (éclair). Le bas de la fenêtre donne la syntaxe du membre sélectionné.
Range("A1") seul désigne Range("A1").Value.La fenêtre d’exécution et les espions
F8 exécute le code pas à pas : la ligne surlignée en jaune est la prochaine à exécuter. Pendant la pause, la fenêtre d’exécution (Ctrl + G) répond à ?total, et la fenêtre Espions (Débogage › Ajouter un espion) suit une expression en continu. Un espion de type Arrêt si la valeur est vraie met le code en pause dès que la condition se réalise, sans point d’arrêt. F5 reprend l’exécution, F9 pose un point d’arrêt.
total = 0 change la variable pendant la pause, et Range("E1").Select agit sur la feuille : idéal pour tester une instruction sans lancer toute la macro.Debug.Print
Debug.Print écrit dans la fenêtre d’exécution sans interrompre la macro, contrairement à MsgBox. Les séparateurs changent la mise en page : la virgule passe à la zone suivante (colonnes de 14 caractères), le point-virgule colle les valeurs, et & construit un texte. La fenêtre garde les 200 dernières lignes : pour repartir d’une fenêtre vide, sélectionnez tout (Ctrl + A) puis Suppr.
Debug.Print i, total dans une boucle montre l’évolution des variables en une seule exécution, sans cliquer sur une série de MsgBox.Exercice : déboguer la macro ParcourirVentes
Classeur d’exercice (Énoncé et Corrigé)
- Ouvrez le classeur, enregistrez-le en .xlsm, puis ouvrez l’éditeur avec Alt + F11. Activez l’explorateur de projet et la fenêtre des propriétés.
- Renommez la feuille Ventes avec le nom de code
wsVenteset passez la feuille Paramètres en 2 – xlSheetVeryHidden. - Insérez un module, renommez-le
modVenteset collez le code de la feuille « Code VBA ». Vérifiez que chaque ligne reprend ses majuscules. - Dans l’explorateur d’objets (F2), retrouvez la classe et la syntaxe de
Offset. - Ajoutez l’espion
total > 5000(Arrêt si la valeur est vraie), lancez la macro avec F5 et notez i et total à l’arrêt : i = 6, total = 5 215. - Reprenez avec F5 et lisez la fenêtre d’exécution : 7 lignes de détail puis « Total : 8 995 ». Reportez vos réponses dans la feuille Contrôle.