Macros Excel - Débogage d'un code

Vous avez appris que la macro est stockée en tant que code VBA dans Excel. Vous avez également appris que vous pouvez directement écrire du code pour créer une macro dans l'éditeur VBA. Toutefois, comme dans le cas de n'importe quel code, même le code de macro peut avoir des défauts et la macro peut ne pas s'exécuter comme prévu.

Cela nécessite d'examiner le code pour trouver les défauts et les corriger. Le terme utilisé pour cette activité de développement logiciel est le débogage.

Débogage VBA

L'éditeur VBA vous permet de suspendre l'exécution du code et d'effectuer toute tâche de débogage requise. Voici quelques-unes des tâches de débogage que vous pouvez effectuer.

  • Parcourir le code
  • Utilisation des points d'arrêt
  • Sauvegarder ou avancer dans le code
  • Ne pas parcourir chaque ligne de code
  • Interroger n'importe quoi tout en parcourant le code
  • Arrêter l'exécution

Ce ne sont là que quelques-unes des tâches que vous pouvez effectuer dans l'environnement de débogage de VBA.

Parcourir le code

La première chose que vous devez faire pour le débogage est de parcourir le code lors de son exécution. Si vous avez une idée de la partie du code qui produit probablement le défaut, vous pouvez accéder à cette ligne du code. Sinon, vous pouvez exécuter le code ligne par ligne, en sauvegardant ou en avançant dans le code.

Vous pouvez entrer dans le code à partir de la boîte de dialogue Macro de votre classeur ou de l'éditeur VBA lui-même.

Stepping into the code from the workbook

Pour accéder au code à partir du classeur, procédez comme suit:

  • Cliquez sur l'onglet VUE sur le ruban.
  • Cliquez sur Macros.
  • Sélectionnez Afficher les macros dans la liste déroulante.

La boîte de dialogue Macro apparaît.

  • Cliquez sur le nom de la macro.
  • Cliquez sur le bouton Pas à pas.

L'éditeur VBA s'ouvre et le code de la macro apparaît dans la fenêtre de code. La première ligne du code macro sera mise en évidence en jaune.

Stepping into the code from the VBA editor

Pour entrer dans le code de l'éditeur VBA, procédez comme suit -

  • Cliquez sur l'onglet DÉVELOPPEUR sur le ruban.
  • Cliquez sur Visual Basic. L'éditeur VBA s'ouvre.
  • Cliquez sur le module qui contient le code de macro.

Le code macro apparaît dans la fenêtre de code.

  • Cliquez sur l'onglet Déboguer sur le ruban.

  • Sélectionner Step into dans la liste déroulante.

La première ligne du code de macro sera mise en évidence. Le code est en mode débogage et les options de la liste déroulante Débogage deviendront actives.

Sauvegarder ou avancer dans le code

Vous pouvez avancer ou reculer dans le code en sélectionnant Step Over ou Step Out.

Ne pas parcourir chaque ligne de code

Vous pouvez éviter de parcourir chaque code de ligne, si vous identifiez une partie potentielle du code qui doit être discutée, en sélectionnant Exécuter au curseur.

Utilisation des points d'arrêt

Vous pouvez également définir des points d'arrêt sur des lignes de code spécifiques et exécuter le code, en observant les résultats à chaque point d'arrêt. Vous pouvez basculer un point d'arrêt et effacer tous les points d'arrêt si et quand cela est nécessaire.

Utilisation de la montre

Vous pouvez ajouter une surveillance pendant le débogage, pour évaluer une expression et arrêter l'exécution lorsqu'une variable atteint une valeur spécifique. Cela signifie que vous configurez une expression de surveillance, qui sera surveillée jusqu'à ce qu'elle soit vraie, puis la macro s'arrêtera et vous laissera en mode pause. VBA vous propose plusieurs types de montres parmi lesquels choisir, afin d'accomplir ce que vous recherchez.

Arrêter l'exécution

Pendant le débogage, à tout moment, si vous avez trouvé un indice sur ce qui ne va pas, vous pouvez arrêter l'exécution pour déchiffrer davantage.

Si vous êtes un développeur expérimenté, la terminologie de débogage vous est familière et les options de débogage de l'éditeur VBA vous simplifient la vie. Même autrement, il ne vous faudra pas beaucoup de temps pour maîtriser cette compétence si vous avez appris VBA et que vous comprenez le code.