L'éditeur VBA
Pour programmer une suite d'actions, il est nécessaire d'écrire des instructions. Celles-ci sont à écrire dans des feuilles particulières appelées modules qui ne sont pas directement visibles dans un classeur excel.
Il faut pour voir le code associé à un classeur ouvrir l'éditeur de macros encore appellé VBE pour VisualBasic editor.
Pour ouvrir l'éditeur VBA plusieurs techniques sont possibles, toutes sont équivalentes à vous de choisir celle que vous préférez !
Vous pouvez donc au choix
- Faire un clic droit sur le nom de l'onglet d'une feuille en bas de page et sélectionner "visualiser le code"
- Dans excel 2007, aller dans l'onglet développeur et cliquer sur l'icone Visual Basic tout à gauche. Si vous ne voyez pas l'onglet développeur, il vous faut l'activer (une fois pour toute). Allez dans le gros bouton office en haut à gauche/options Excel (en bas à droite !) /standard/cocher la 3° option : affichier l'onglet développeur dans le ruban.
- faire alt+F11
- personnaliser vos barres d'outils pour y "monter" l'icone de VBA

Vous vous trouvez alors devant une fenêtre presque comme celle-ci :

Elle comporte 4 zones (chiffres blancs sur fond rouge)
- Des barres d'outils spécifiques
- la fenêtre des projets VBA actifs : celui de votre classeur -ici VBAprojet (classeur1)- et ceux des macros complémentaires chargées dans excel comme l'utilitaire d'analyse, ou étiquettes.xla de Laurent Longre
- la fenêtre des propriétés : elle regroupe pour un Objet excel donné toutes les propriétés qu'on peut lui attribuer et modifier. Si cette fenêtre n'apparait pas, affichez la via le menu Affichage/fenêtre propriété ou par la touche F4 de votre clavier.
- la zone d'édition proprement dite
Les modules des macros complémentaires
Dans la fenêtre des projets actifs apparaissent les projets correspondant aux macros complémentaires (N°1 sur la figure) que vous avez chargé dans excel. Beaucoup de ces projets sont protégés par un mot de passe. C'est en particulier le cas des macros complémentaires livrées avec excel par microsoft.
En dessous (N° 2) figurent les projets des classeurs excel ouverts. Si vous ouvrez plusieurs classeurs vous aurez un dossier projet par classeur. Celui-ci regroupe l'ensemble des modules associés à votre classeur ainsi que tous les Userform ou formulaires qu'il contient.
Modules présents par défaut dans tout nouveau classeur
A la création d'un nouveau classeur, celui-ci est créé par défaut avec
- (N°3) un module de feuille attaché à chacune des feuilles qu'il contient (ici 3). Ces modules recevront éventuellement les codes des macros devant s'effectuer sur une feuille particulière, notamment les macros pour les événements de feuille
- (N°4) un module ThisWorkbook dans lesquel seront écrites toutes les macros déclenchées par un événement de classeur. C'est dans cette feuille par exemple que seront écrites les macros destinées à se lancer à l'ouverture du classeur (comme l'affichage d'un message de votre choix ou l'initialisation de certaines valeurs). Pour écrire dans ces modules, faites un clic droit sur son nom et sélectionnez "code" (N°5). Ceci ouvre la fenêtre d'édition qui comporte deux menus (N°6 et N°7) qui vous donnent accès aux macros événementielles associées à l'objet sélectionné (feuille, ThisWorkbook)
Modules optionnels
Les UserForms ou Formulaires
Si vous voulez créer un UserForm ou formulaire dans votre classeur, la fenêtre d'interface que vous allez créer et les codes associés sont contenus dans un sous dossier (mal) nommé "feuilles". Pour le créer, faites un clic droit sur votre projet VBA (N°2) puis sélectionnez insertion/userform. Une interface vierge s'ouvre ainsi qu'une barre d'outils spécifique.
Les modules standards ou Modules Ordinaires
Ce sont les modules qui vont recevoir l'essentiel des macros d'un classeur : ce qui est écrit dans un module ordinaire peut s'utiliser dans l'ensemble du classeur. Une macro qui permet par exemple de supprimer les lignes vides sur une feuille excel et qui est écrite dans un module ordinaire peut être appellée depuis n'importe quelle feuille du classeur.
Attention : Toutes les fonctions (Function) doivent être écrites dans un module ordinaire, même si elles ne s'appliquent qu'à une seule feuille du classeur.
Les ModulesDeClasse
Certains objets sont créés par défaut avec excel mais vous pouvez en créer des nouveaux et les gérer avec leurs propriétés et méthodes. Ceci nécessite la création de classes d'objets. Ces fonctions avancées de programmation sont expliquées sur la page modules de classe mais sont à réserver à ceux qui maîtrisent déjà assez bien la programmation VBA "de base".
Mot clef associé à cette page : vba
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
