Présentation de Visual Basic Editor (VBE) [#09 FORMATION EXCEL VBA COMPLETE]
Depuis le début de la formation sur le développement d’application VBA, nous sommes amenés à utiliser un outil pour saisir et gérer nos macros, il s’agit de « l’éditeur VBE ». VBE désignant ici « Visual Basic Editor », soit l’éditeur de code Visual Basic. Dans ce nouveau chapitre, nous allons partir à la découverte de cet outil afin d’en comprendre toutes les subtilités nécessaires au bon développement de vos applications.
Téléchargement
Vous pouvez obtenir le fichier d'exemple de cet article et découvrir la méthode d'apprentissage de VBA pas-à-pas en cliquant sur le lien suivant :
Tutoriel Vidéo
Partie 1 : Présentation de l'outil VBE :
Partie 2 : Personnsation et Optimisation de VBE :
Vous trouverez très régulièrement de nouvelles vidéos sur la chaîne, alors pensez à vous abonner pour ne manquer aucune astuce et devenir rapidement un pro d’Excel (cliquez-ici) !
1. Présentation
Pour simplifier la compréhension et éviter la répétition, dans la suite de la formation VBA, nous parlerons aussi bien « d’éditeur VBE » que de « VBE ».
Avant de découvrir les fonctionnalités proposées par VBE, il est important de comprendre que celui-ci est en fait une application autonome et externe à Excel, même si dans les faits leur fonctionnement est extrêmement lié (VBE perd en effet toute son utilité sans les applications de la suite Office que sont Excel, Word, PowerPoint et même Outlook). D’ailleurs, le seul moyen de lancer VBE est de l’appeler directement l’une de ces applications :
- Depuis le menu Développeur > Groupe Code > Visual Basic,
- En effectuant un clic-droit sur l’un des onglets des feuilles de calculs > Visualiser le code
- À l’aide du raccourci clavier [Alt]+[f11]
2. L’interface de VBE
Voici a quoi devrait ressembler VBE lors du premier lancement :
Ici, l’interface se décompose en cinq grandes zones que nous allons détailler, mais sachez que de nombreuses options de personnalisation sont possibles afin de faire correspondre le fonctionnement de VBE aux besoins de chacun.
2.1. La barre des menus
Il s’agit d’une barre de menus des plus classiques, il suffit de cliquer sur l’un de ces menus pour dérouler un menu déroulant dans lequel nous retrouverons l’intégralité des fonctionnalités proposées par VBE.
2.2. La barre d’outils
La barre d’outils permet de présenter les principales fonctionnalités de VBE directement sous la forme d’icônes cliquables dont l’accès est immédiat.
Celle-ci est hautement personnalisable, directement depuis le menu Affichage :
Il est ainsi possible de choisir les barres d’outils à afficher ou à masquer, je vous recommande à minima d’insérer la barre Edition (qui est affichée par défaut), ainsi que la barre Standard qui ajoute un certain nombre de fonctionnalités supplémentaires.
Les barres d’outils peuvent également être détachées ou déplacées en utilisant la poignée de déplacement :
- Libération de la barre d’outils :
Déplacement de Barre d’outils en bas de la fenêtre :
-
Déplacement de Barre d’outils sur la gauche de la fenêtre :
Le menu Personnalisation, accessible depuis le menu Affichage > Barre d’outils permet également de sélectionner les barres à ajouter ou masquer (y compris la barre des menus), d’ajouter des icônes directement dans les barres d’outils présentes dans l’interface, de modifier la taille des icônes, etc…
2.3. La fenêtre de navigation de projet
Dans la fenêtre de navigation de projet, nous retrouvons l’arborescence de l’ensemble des fichiers Excel ouverts. Certains fichiers sont ici visibles, alors qu’ils n’apparaissent pas dans Excel, comme par exemple les classeurs de macro complémentaires.
Pour chaque fichier (ou « projet » pour reprendre la terminologie de VBE), nous retrouvons les éléments qui le compose réunis dans trois grandes familles :
- La famille des Objets Excel (« Microsoft Excel Objets ») dans laquelle nous retrouvons objets représentant les feuilles de calcul du classeur (qu’elles soient visibles depuis Excel ou non) : Feuil1, Feuil2,… Nous y retrouvons également un objet qui permet de manipuler le classeur : ThisWorkBook,
- La famille des Modules : Nous y retrouvons les modules du projet dans lesquelles nous saisissons nos macros VBA, comme nous l’avons déjà abordé dans les chapitres précédents,
- Et enfin la famille des UserForms qui ne figurent pas sur la capture ci-dessus, et dans laquelle nous retrouverons tous les formules créées depuis VBE (nous aborderons évidemment les formulaires dans les chapitres à venir)
Il existe également une famille pour reprendre l’ensemble des modules de classe du projet, mais cela nous le verrons beaucoup plus tard durant cette formation !
2.4. La fenêtre Propriétés
La fenêtre de propriété de VBE permet de lister et de modifier toutes les propriétés des objets sélectionnés (Feuille de code, module, formulaire,…)
2.5. La fenêtre de code
La fenêtre de code est bien évidemment la fenêtre la plus importante de l’interface de VBE, c’est en effet à cet endroit que nous venons saisir nos lignes de code VBA.
Pour passer d’une feuille de code à l’autre, il suffit de double cliquer sur l’un des éléments de l’arborescence du projet présentés dans la fenêtre de Navigation :
Lorsque nous double-cliquons sur un élément pour afficher une nouvelle fenêtre de code, celle-ci s’insère au-dessus des autres fenêtres déjà lancées. Ces dernières ne sont pas fermées pour autant, elles sont juste masquées.
Pour réafficher à nouveau une fenêtre masquée par une autre, nous pouvons soit double cliquer à nouveau sur l’objet de la fenêtre de navigation, soit utiliser le menu Fenêtre qui répertorie toutes les fenêtres de code ouvertes :
Les fenêtres de codes sont gérées par VBE comme les fenêtres de n’importe quelle autre application, il est donc possible de les réduire, les agrandir, … ou d’en afficher plusieurs en même temps :
Pour cela, aidez-vous une fois encore du menu Fenêtre afin d’en personnaliser l’organisation.
Enfin, sachez qu’il est également possible de fractionner une fenêtre de code, afin de pouvoir afficher en même temps deux endroits différents d’une seule et même fenêtre lorsque le nombre de ligne présents dans le code s’avère être important (Fenêtre > Fractionner) :
Par défaut, toutes les macros saisies dans un modules sont affichées dans la fenêtre de code, mais il est également possible de n’afficher qu’une seule procédure à la fois, en cliquant sur le petit bouton correspond, et situé en bas à gauche de la fenêtre de code :
Ensuite la sélection de la procédure à afficher se fait depuis le menu déroulant situé en haut de la fenêtre :
2.6. Les autres fenêtres de VBE
Il existe encore d’autres fenêtres dans l’interface de VBE que nous n’avons pas abordées jusqu’à présent, celles-ci n’étant pas fondamentalement indispensables :
- La fenêtre des variables locales : nous y retrouvons toutes les variables du module lorsqu’une macro est interrompue, avec leur valeur. Cette fenêtre sera particulièrement utile pour debugger des erreurs dans l’exécution d’une macro,
-
La fenêtre d’exécution permet de lancer une macro en saisissant directement son nom. Elle permet également de récupérer la valeur d’une cellule en utilisant une commande spécifique « ?[a1] » :
-
La fenêtre Espion permet de récupérer la valeur de variables du projet (et pas seulement les variables locales) :
-
L’explorateur d’objet (à ne pas confondre avec l’explorateur de projet que nous avons vu au-dessus) permet de lister tous les objets possibles (objets VBA, ou objets du projet) :
3. Personnaliser VBE
Maintenant que nous venons de faire le tour de l’interface de VBE, voyons comment il est possible de personnaliser le fonctionnement de celui-ci afin de le faire correspondre le plus possible aux différents besoin de chacun.
Pour cela, rendons-nous dans le menu
Voyons les différents menus proposés dans cette fenêtre d’Options.
3.1. L’onglet options
L’onglet Options permet de personnaliser le fonctionnement par défaut de l’éditeur VBE :
- Vérification automatique de la syntaxe : Cette option permet d’afficher un message d’erreur qui décrit de manière plus ou moins précise la nature des erreurs d’exécutions qui peuvent se présenter lors de la saisie d’une macro. Sur la capture ci-dessous, le message d’erreur n’est présent que lorsque cette option est cochée. Dans le cas contraire, la ligne sera quand même écrite de couleur rouge, mais sans qu’il ne soit présenté de message d’erreur. Même si ce genre de message peut vite est rébarbatif, veillez à ne le désactiver que si vous êtes sûr de pouvoir analyser les anomalies sans être guidé.
- Déclaration des variables obligatoires : Cette option permet d’afficher au début de chaque module la ligne de code « Option Explicit » qui oblige la déclaration des variables (voir le chapitre xxx). Je vous conseille d’activer cette option qui nous oblige à prendre de bonnes habitudes de développement. Cette ligne ne sera insérée que lors de la création de modules, et il est toujours possible de la supprimer manuellement au besoin
- Complément automatique des instructions : Cette option permet d’afficher l’assistant de saisi de code qui permet d’auto compléter les instructions en cours de saisie. Il est alors possible de sélectionner la fin de la saisie de la ligne en cours à l’aide de la souris, ou des flèches de direction du clavier (la touche [Tabulation] permet alors de valider le champs sélectionné).
- Info express automatique : Cette option permet d’afficher une info-bulle avec les arguments attendus par une fonction lors de la saisie :
- Info-bulles automatiques : lorsque VBE entre en mode debogage (après avoir appuyé sur le bouton correspondant suite à une erreur d’exécution), cette option permet de visionner la valeur d’une variable au survole de la souris
- Retrait automatique : Permet d’insérer une tabulation automatique sur chaque nouvelle ligne (celle-ci est calquée sur la tabulation de la ligne en cours). Pour ajouter un retrait (décaler le début de la ligne vers la droite), appuyez simplement sur la touche [Tabulation], inutile de saisir des espaces, VBE les supprimerait automatiquement. Pour supprimer un retrait (décaler le début de la ligne cette fois-ci vers la gauche), appuyez simultanément sur les deux touches [Majuscule]+[Tabulation]. Il est important de prendre de bonnes habitudes d’indentation du code afin de rendre celui-ci le plus lisibles possibles)
- Largeur de la tabulation : permet de personnaliser la taille des retraits réalisés lors de chaque appui sur la touche [Tabulation]. Personnellement je conserve une tabulation de quatre espace qui permet de bien faire ressortir les retraits dans le code.
- Édition de texte par glisser-déplacer : cette option permet de déplacer une portion de code sélectionnée à l’aide de la souris (le résultat est le même que celui obtenu par un Couper-Coller) :
- Affichage du module complet par défaut : Cette option permet d’afficher l’ensemble des modules nouveaux modules. Lorsque cette option n’est pas activée, alors une seule procédure sera affichée à la fois (voir la partie précédente sur l’option d’affiche d’une procédure unique dans la fenêtre de code) :
- Séparation des procédures : permet d’insérer une barre de séparation entre chaque nouvelle procédure, afin de présenter un indicateur visuel :
3.2. L’onglet Format de l’éditeur
Dans cet onglet, il va être possible de personnaliser les différents éléments de l’interface de VBE (textes, couleurs de fond,…)
En ce qui me concerne, je préfère laisser les paramètres tels qu’ils sont définis par défaut, ils sont suffisamment clairs ainsi.
Si vous souhaitez malgré tout personnaliser la fenêtre voici les différents éléments à modifier :
- Cadre Couleurs du code : Permet de modifier les différentes couleurs des textes saisis dans le code (Premier plan / Arrière-plan et Indicateur). Ces options sont à modifier pour chaque type de texte saisi dans le code, cette personnsalisation peut donc nécessiter un temps assez important !
- Le menu Police permet évidemment de modifier la police de caractère du code saisi et le menu taille défini la taille de cette police (pour conserver une lecture simple et agréable du code, il convient de conserver un police de caractères avec un espacement fixe, sous peine de rendre cette lecture très pénible)
- L’option Barre d’indicateur en marge : permet d’afficher une barre juste à gauche du code afin d’y insérer des indicateurs d’aide au débogage :
3.3. L’onglet Général
L’onglet général permet de personnaliser le fonctionnement de VBE. Je vous conseille de laisser les règlages par défaut, ceux-ci étant en l’état pleinement fonctionnels :
- Paramètres de grille de la feuille : permet de personnaliser la grille qui sert de point de construction aux formulaires (afficher/masquer la grille, modification de la taille des points de la grille et activer la position automatique des contrôles sur les points de la grille),
- Afficher les infos-bulles : afficher ou non les infos-bulles au survole des boutons de la barre-d’outils
- Réduire le projet masque les fenêtre : cette option permet de masquer les fenêtres ouverte dans la fenêtre de code lorsque le projet est réduit :
- Récupération d’erreur : permet de personnalisation de comportement de VBE lorsque celui-ci est confronté à une erreur d’exécution. Laissez l’option par défaut (Arrêt sur les erreurs non gérées), sinon vous risqueriez de ne pas être en mesure de pouvoir utiliser la gestion des erreurs au sein de votre code !
3.4. L’onglet Ancrage
Permet de forcer l’ancrage des différentes fenêtres directement dans l’interface de VBE.
Lorsqu’une fenêtre n’est pas ancrée, elle sera alors gérée comme une fenêtre standard :
Comme vous pouvez le voir, la gestion des fenêtres dans ce cadre là est alors cahotique… Je vous conseille fortement de conserver l’ancrage par défaut des fenêtres de l’interface.