Editeur Visual Basic

En basculant (par la combinaison de touche : Alt + F11) de la feuille de cacul à la fenêtre de l'éditeur Visual Basic (pour écrire le code du programme), on obtient la fenêtre suivante :


Dans la partie de gauche, sont listés les documents actuellement en mémoire :
  • les éventuels Compléments (Complément Solveur, Euro Currency Tools, ...). Le code de ces compléments est en général protégé par mot de passe. On peut ajouter ou supprimer ces compléments par l’onglet Développeur du ruban et la commande Compléments Excel ;
  • le classeur en cours : VBAProject (Classeur1.xlsx) ou Classeur1 est le nom du classeur ouvert. Il peut y avoir plusieurs classeurs ouverts, ils apparaîtront à la suite l’un de l’autre. Dans la rubrique d’un classeur apparaît ensuite les objets Excel (Microsoft Excel Objets) dont les feuilles (Feuil1, Feuil2, …), autant d’éléments que de feuilles de calcul contenues dans le classeur et le classeur (ThisWorkbook) ;
  • l’éventuel classeur de macros personnelles : VBAProject (Personal.xlsb) qui est chargé en mémoire au démarrage d'Excel et qui contient les codes de macros ou de procédures utilisables par tout classeur ouvert (on peut donc les exécuter par un bouton dans les barres d'outils d'Excel).
Le projet qui nous sera utile ici est le projet du classeur en cours VBAProject (Classeur1).
Ouvrir, si ce n'est pas le cas, le projet VBAProject (Classeur1) avec le + devant le nom, ouvrir de même le rubrique Microsoft Excel Objets : on doit voir le nom de chaque feuille du classeur. Double-cliquer sur le nom de la feuille dans laquelle les objets ont été dessinés avec la commande Insérer de l’onglet Développeur. On doit avoir la fenêtre ci-dessus et :
  • à gauche la fenêtre des projets ;
  • à droite la fenêtre du code (relatif à la feuille choisie).
Ces deux fenêtres (et d'autres) peuvent s'afficher par le menu Affichage, respectivement par la commande Explorateur de projets et la commande Code.
La fenêtre de code présente en haut deux listes déroulantes :
  • à gauche, la liste des objets contenus dans la feuille, l'objet feuille et une section particulière affiché en premier appelé Général qui doit contenir les déclarations (variables au niveau feuille, constantes, structures, ...) ;
  • à droite, la liste des évènements disponibles pour l'objet sélectionné.
Ecriture du code
Après avoir insérer un bouton CommandButton1 dans la feuille de calcul et pour écrire le code qui devra être exécuté lorsque l'utilisateur cliquera sur le bouton CommandButton1, dérouler la liste des objets et cliquer sur le nom de cet objet comme ci-dessous :


L'évènement Click étant l'évènement par défaut, la procédure CommandButton1_Clik apparaît vide, pour que l'on puisse y écrire le code :


Mais la deuxième liste (ci-dessus à droite) permet éventuellement de choisir un autre évènement. Par exemple si on clique dans cette liste sur MouseMove la procédure de cet évènement s’écrira en dessous de la précédente :


Cette fenêtre de code est un éditeur de texte perfectionné et on peut effacer, par exemple, une procédure d’évènement ou tout autre partie du code. Il ne reste plus qu'à écrire le code pour l'action souhaité entre la ligne : Private Sub NomObjet_NomEvènement (par exemple Private Sub CommandButton1_Click) et la ligne : End Sub.