Exécution d'un programme et règles d’écriture
Objectifs du chapitre
Après avoir utilisé avec succès l’Enregistreur de macros et créé votre premier programme, voici venu le temps de le lancer.
Ce chapitre vous permettra d’apprendre les différentes façons pour exécuter un programme.
Vous y apprendrez quelques règles d’écriture que nous vous conseillons fortement de respecter.
Vous y verrez également les premiers outils pour déboguer.
Lancer un programme depuis le ruban
Vous avez déjà vu dans le chapitre L’enregistreur de macros comment exécuter depuis Excel une macro précédemment enregistrée. Mais cette solution n’est pas la seule qu’il est possible d’utiliser pour lancer un programme.
Lancer un programme depuis VBE
Il existe plusieurs manières de lancer un programme lorsque vous êtes dans l’environnement de programmation VBE. Selon votre aisance ou vos habitudes, vous pourrez utiliser celle qui vous conviendra le mieux.
Par la barre d’outils
Pour lancer un programme, la première solution est de placer votre curseur à l’intérieur de la macro que vous souhaitez lancer, c’est-à-dire entre les balises Sub et End Sub qui définissent les bornes de la macro.
Cliquez sur le bouton Exécuter Sub/UserFrom dans la barre d’outils.
Le programme est alors exécuté.
Par le raccourci-clavier
Si vous avez une préférence pour l’usage du clavier, il est également possible de lancer votre macro.
Placez votre curseur à l’intérieur de la macro que vous souhaitez lancer, et appuyez sur la touche F5 de votre clavier, qui a la même fonction que le bouton Exécuter Sub/UserForm de la barre d’outils.
Par la fenêtre d’exécution
Si vous souhaitez lancer une fonction ou une procédure qui nécessite des paramètres, les deux premières solutions ne fonctionneront pas, car il faut fournir ces informations au programme pour qu’il puisse s’exécuter. Passer par la fenêtre d’exécution est la solution adaptée.
Exécuter...
Le mode pas à pas
Lorsque vous exécutez une macro, l’ensemble des instructions sont lues d’une seule traite, jusqu’à atteindre la fin du programme.
En tant que développeur, vous pouvez faire défiler le code en mode pas à pas, afin que les instructions s’exécutent les unes après les autres.
Ici, il est question de vous permettre de voir le déroulé de votre programme ligne par ligne.
Appuyez sur la touche F8 de votre clavier au lieu de F5, le programme se lancera par la première ligne à exécuter.
La ligne est surlignée en jaune et un curseur en forme de flèche apparaît dans la bande grise à gauche de la ligne de code.
Cette ligne mise en avant sera la prochaine ligne qui sera exécutée par le programme. Il vous suffira d’appuyer de nouveau sur la touche F8 de votre clavier pour passer à la ligne suivante. Les lignes en commentaires ne sont pas lues et le programme passera à la prochaine ligne exécutable automatiquement.
Vous pouvez également faire en sorte que le reste du programme se déroule de nouveau jusqu’au bout en appuyant sur la touche F5.
Les points d’arrêt
Vous avez vu jusqu’à présent les deux modes de déroulement d’un programme : d’une seule traite, avec la touche F5, et en mode pas à pas avec F8.
Il vous est également possible de faire défiler le code jusqu’à une ligne spécifique du code.
Pour atteindre cet objectif, vous pouvez utiliser ce qu’on appelle des points d’arrêt.
Pour ajouter des points d’arrêt sur une ou plusieurs lignes dans votre programme, cliquez à l’endroit du code où devra être inséré le point d’arrêt puis appuyez sur la touche F9 ou cliquez directement dans la bande grise à gauche de votre ligne de code.
Vous pouvez également cliquer sur l’outil Basculer le point d’arrêt.
Une pastille de couleur bordeaux apparaît alors :
La présence d’un point d’arrêt agit de telle sorte que le programme sera lancé depuis la première instruction et, lorsque celui-ci devra exécuter comme prochaine ligne celle identifiée avec un point d’arrêt, il se mettra en pause, vous donnant la main pour effectuer vos contrôles :
Pour supprimer un point d’arrêt, après avoir mis le curseur sur la ligne concernée, appuyez sur la touche F9 de votre clavier ou cliquez sur l’outil...
Règles d’écriture d’un programme
Une programmation impérative
Le langage VBA suit une logique impérative, c’est-à-dire que les lignes sont exécutées les unes après les autres, selon leur ordre d’apparition dans le programme. Si une instruction ne s’exécute pas, la suivante ne le sera pas non plus.
Une indentation à respecter
Lorsque vous rédigez un programme, celui-ci sera lu par l’ordinateur, mais pour l’être humain que vous êtes, la lecture et la relecture de votre code sont primordiales. Aussi, lorsque les instructions sont englobées par d’autres instructions, par exemple avec les structures de conditions ou les boucles, que vous aborderez dans cet ouvrage, les instructions incluses doivent être indentées, c’est-à-dire décalées par une tabulation par rapport à l’instruction qui les englobe.
Voici un exemple de programme qui n’est pas indenté.
Sub MauvaisExemple()
Dim i As Integer
For i = 1 To 5
If i Mod 2 =0 Then
MsgBox i
End If
Next i
End Sub
Exemple 6 : usage d’un code non indenté
Le fait d’indenter un code signifie simplement de le rendre plus lisible, comme ceci :
Sub MauvaisExemple()
Dim i As Integer
For i = 1 To 5
If...
Pour la suite de cet ouvrage
Afin que vous puissiez profiter des exemples de code fournis tout au long de cet ouvrage, il est recommandé de recopier les instructions qui vous seront présentées et de les exécuter selon le mode de votre choix.