Excel · VBA · A3iformations

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.

Alt + F11Ouvrir
Ctrl + R · F4Explorer
F2 · F1Chercher
F8 · Ctrl + GDéboguer
1

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.

Simulateur : quatre chemins vers l’éditeur

Enregistrer en .xlsmUn classeur .xlsx ne conserve pas le code : Excel le supprime à l’enregistrement. Choisissez Classeur Excel (prenant en charge les macros).
Onglet Développeur absent ?Fichier › Options › Personnaliser le ruban › cochez Développeur. Alt + F11 fonctionne même sans lui.
2

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).

Simulateur : cliquez sur les éléments du projet

Feuil1 (Ventes)Le premier nom est le nom de code de la feuille (utilisable directement en VBA : 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.
PERSONAL.XLSBSi vous avez enregistré une macro dans le classeur de macros personnelles, il apparaît comme un projet à part, ouvert à chaque démarrage d’Excel.
3

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.

Simulateur : propriétés de la feuille Feuil2 (Tarifs)

Très masquéeUne feuille en 2 – xlSheetVeryHidden n’apparaît plus dans clic droit › Afficher. Seul le VBE (ou du code) peut la réafficher : pratique pour une feuille de paramètres, mais notez-le dans la documentation.
Règles de nommageUn nom de code commence par une lettre, sans espace ni caractère spécial, 31 caractères au maximum. Les préfixes aident à s’y retrouver : wsTarifs, modOutils.
4

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.

Simulateur : tapez une ligne et validez-la avec Entrée

Option ExplicitOutils › Options › cochez Déclaration des variables obligatoire : chaque nouveau module commence par Option Explicit, et une faute de frappe dans un nom de variable devient une erreur signalée au lieu d’une variable vide.
Casse corrigée = mot reconnuTapez tout en minuscules : si VBA remet 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.
5

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é.

Simulateur : explorateur d’objets, bibliothèque Excel

Enregistreur + F1Enregistrez une action, ouvrez le code, placez le curseur sur un mot inconnu et appuyez sur F1 : c’est la façon la plus rapide d’apprendre le modèle objet.
Classe par défautUn membre marqué d’un point bleu est le membre par défaut : Range("A1") seul désigne Range("A1").Value.
6

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.

Simulateur : parcourir la feuille Ventes pas à pas
Exécution
?

Modifier en pauseDans la fenêtre d’exécution, 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.
Arrêter proprementLe bouton carré bleu Réinitialiser termine la macro en pause. Tant qu’il n’est pas cliqué, Excel reste en mode arrêt et certaines commandes sont grisées.
7

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.

Simulateur : même boucle, trois façons d’écrire

    
Exécution

Tracer une boucleUn 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.
À retirer ?Les Debug.Print sont sans effet pour l’utilisateur final : on peut les laisser, ou les mettre en commentaire (bouton Commenter bloc de la barre Édition).
Exercice : déboguer la macro ParcourirVentes

Classeur d’exercice (Énoncé et Corrigé)

  1. 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.
  2. Renommez la feuille Ventes avec le nom de code wsVentes et passez la feuille Paramètres en 2 – xlSheetVeryHidden.
  3. Insérez un module, renommez-le modVentes et collez le code de la feuille « Code VBA ». Vérifiez que chaque ligne reprend ses majuscules.
  4. Dans l’explorateur d’objets (F2), retrouvez la classe et la syntaxe de Offset.
  5. 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.
  6. 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.
A3iformations · Organisme certifié Qualiopi · Centre de passage TOSA Interface Excel Microsoft 365 en français