Déboguer pas à pas (F8)
Une macro ne fait pas ce que vous attendez ? Plutôt que de relire le code dix fois, regardez-le s'exécuter. Le débogueur de l'éditeur VBA permet d'avancer ligne par ligne et de voir la valeur de chaque variable à chaque instant.
Télécharger la fiche PDF gratuiteSans inscription, mise en page prête à imprimer01Définition
Déboguer, c'est exécuter la macro au ralenti pour observer ce qu'elle fait vraiment : quelle ligne s'exécute, quelle valeur prend chaque variable, à quel moment le résultat dévie.
02Les raccourcis essentiels
| Touche | Action |
|---|---|
| F8 | exécuter la ligne suivante (pas à pas détaillé) |
| Maj + F8 | exécuter une procédure appelée d'un coup (pas à pas principal) |
| Ctrl + Maj + F8 | terminer la procédure en cours et revenir à l'appelante |
| Ctrl + F8 | exécuter jusqu'à la ligne où se trouve le curseur |
| F9 | poser ou retirer un point d'arrêt |
| F5 | reprendre l'exécution normale |
| Ctrl + G | afficher la fenêtre Exécution |
03Le pas à pas
Placez le curseur dans la macro et appuyez sur F8 : la première ligne se surligne en jaune. Cette ligne jaune est celle qui va être exécutée. À chaque F8, elle avance d'une ligne. La fiche For Next propose un simulateur qui reproduit exactement ce fonctionnement.
En mode pas à pas, laissez la souris sur un nom de variable : une info-bulle affiche sa valeur actuelle.
04Les points d'arrêt
Sur une longue macro, avancer ligne par ligne depuis le début est fastidieux. Cliquez dans la marge grise à gauche d'une ligne (ou F9) : un point rouge apparaît. Lancez la macro avec F5, elle s'exécute normalement puis s'arrête juste avant cette ligne.
05Les fenêtres d'observation
- Variables locales (menu Affichage) : toutes les variables de la procédure, leur valeur et leur type, mises à jour à chaque pas.
- Exécution (
Ctrl + G) : affiche ce que vous écrivez avecDebug.Print, et permet de taper? nomVariablepuis Entrée pour lire une valeur. - Espions : surveillez une expression précise, et demandez l'arrêt quand elle change ou devient vraie.
For i = 2 To derniereLigne Debug.Print "Ligne " & i & " : " & Cells(i, 1).Value Next i
En mode arrêt, vous pouvez faire glisser la flèche jaune vers une autre ligne pour la réexécuter ou en sauter une. Pratique pour tester une correction sans tout relancer.
06Pièges à éviter
Tant que la macro est en pause (ligne jaune visible), Excel attend. Pensez à cliquer sur le bouton Réinitialiser (carré bleu) pour arrêter proprement.
L'instruction Stop met la macro en pause comme un point d'arrêt, mais elle reste dans le code. Supprimez-la avant de livrer le fichier.
Le pas à pas exécute réellement chaque ligne : une suppression est une vraie suppression. Travaillez sur une copie du fichier.
07Questions fréquentes
Comment déboguer une macro VBA pas à pas ?
Déboguer, c'est exécuter la macro au ralenti pour observer ce qu'elle fait vraiment : quelle ligne s'exécute, quelle valeur prend chaque variable, à quel moment le résultat dévie.
Quel est le piège le plus fréquent avec le débogage VBA ?
Rester en mode arrêt. Tant que la macro est en pause (ligne jaune visible), Excel attend. Pensez à cliquer sur le bouton Réinitialiser (carré bleu) pour arrêter proprement.
La fiche « Déboguer pas à pas (F8) » est-elle gratuite ?
Oui. La fiche est en accès libre et gratuit, sans inscription : vous pouvez la lire en ligne et télécharger sa version PDF. Elle fait partie du cours VBA gratuit de mesetudesdecas.fr, qui compte 21 fiches.
Passez de la fiche à la mise en situation
Les études de cas mesetudesdecas.fr placent vos apprenants face à un vrai besoin d'entreprise. L'étude de cas XL-05 fait automatiser un devis commercial de bout en bout, macros comprises, avec énoncé, corrigé et pas-à-pas du formateur.
Découvrir l'étude de cas XL-05Toutes les fiches du cours VBA gratuit
Voir aussi le cours gratuit sur les formules Excel
Fiche V1.2 | Dernière mise à jour : 29/10/2026 | Clément Delobel, formateur Excel et VBA