Le tableau ci-dessous explique les éléments qu'on retrouve à l'écran. Utilisez le menu Affichage pour afficher les éléments absents de votre affichage.
1) Menus |
Les choix les plus fréquemment utilisés sont dans les menus Insertion et Débogage. |
Sert à choisir ce qui est affiché dans la fenêtre de code (7) et dans l'explorateur d'objets (3). |
|
Permet de consulter et modifier les propriétés de l'objet sélectionné dans l'explorateur de projets (2). |
|
4) Boutons additionnels |
Il est recommandé d'ajouter ces boutons à la barre d'accès rapide. |
5) Bouton Démarrer/Continuer |
Sert à démarrer l'exécution continue du code sélectionné dans la fenêtre de code (7). |
6) Bouton Arrêter |
Sert à arrêter l'exécution du code VBA en cours. |
7) Fenêtre Code OU Fenêtre Formulaire |
Affiche le code VBA OU les objets de formulaire de l'objet sélectionné dans l'explorateur de projets (2). |
8) Fenêtre de recherche dans l'aide |
Affiche les résultats de la recherche dans l'aide. |
9) Nom du module affiché |
Liste déroulante permettant de passer d'un objet du projet à un autre sans passer par l'explorateur de projets (2). |
10) Option Explicit |
Instruction que l'on doit retrouver au début de chaque module et qui force la déclaration explicite des variables. |
11) Marge de la fenêtre Code |
Contient des repères visuels lors du développement d'un programme VBA. |
|
|
|
|
14) Fenêtre Espions |
|
Les boutons Commenter bloc
et Ne pas commenter bloc
vous seront utiles
pour rendre inopérantes/opérantes des instructions erronées ou suspectes lors de tests et
débogages.
Pour les ajouter à la barre d'accès rapide :
Enfoncez le bouton de droite de la souris sur une zone inutilisée de la
barre d'accès rapide.
Sélectionnez Personnaliser...
Ouvrez l'onglet Commandes.
Sélectionnez la Catégorie Édition.
Dans la liste déroulante, choisissez Commenter bloc.
Faites glisser l'icône à l'endroit choisi de la barre d'accès rapide.
Répétez pour le bouton Ne pas commenter bloc.
L'instruction Option Explicit peut et doit apparaître au début de
chaque module VBA.
Pour l'automatiser:
Dans le menu Outils, choisissez Options.
Dans l'onglet Éditeur, assurez-vous que la case à cochée Déclaration des variables obligatoire est cochée.
L'explorateur de projets permet de naviguer dans les différents endroits pouvant
contenir du code VBA Excel,
c'est à dire les différents emplacements où il vous est possible de sauvegarder le code que vous allez écrire.
Vos choix:
Un classeur Excel: le code VBA est sauvegardé avec le classeur. Si vous
copiez le classeur, il est copié avec. Si vous supprimez le classeur, il est
supprimé.
Le classeur de macros personnelles: le code VBA est sauvegardé dans le
classeur personal.xlsb de l'ordinateur, ET NON DANS LE CLASSEUR ACTIF.
Comme personal.xlsb est automatiquement chargé lors du démarrage d'Excel sur
un ordinateur, les programmes VBA sauvegardés dans le classeur personal.xlsb de cet
ordinateur sont disponibles dans tous les classeurs ouverts sur ce même
ordinateur. Ce choix est utile aux programmeurs expérimentés et aux
administrateurs de parcs d'ordinateurs. Il est déconseillé aux
programmeurs amateurs.
Dans un classeur Excel, vous devez choisir un des endroits suivants:
Une feuille de ce classeur. Cet emplacement déconseillé.
Le classeur lui-même (ThisWorkbook).
Il est utilisé pour enregistrer les
programmes déclenchés par des événements de classeur (ouverture, fermeture,
modification de cellule...).
Un module. Il est utilisé pour enregistrer les programmes utilisés dans le
classeur ou par les autres programmes du classeur.
Un formulaire.
Il est utilisé pour enregistrer les programmes déclenchés par
les événements du formulaire.
Tous ces emplacements peuvent contenir du code VBA Excel.
En pratique, vous utiliserez le plus souvent les endroits suivants:
Un module dans un classeur Excel.
Un formulaire dans un classeur Excel.
L'explorateur d'objets sert principalement:
À renommer les modules et formulaires.
À modifier les propriétés des contrôles (objets) de formulaires
C'est dans cette fenêtre qu'on crée/édite le code VBA.
1) Entête | Affiche le nom de l'emplacement (classeur, feuille de classeur, module, formulaire) contenant le code affiché. L'emplacement est choisi dans l'explorateur de projets. |
2) Zone objet | Objets disponibles dans le contexte du conteneur choisi dans l'explorateur de projets. |
3) Zone procédures/ événements |
Liste de toutes les procédures du module (en gras) et des procédures événementielles (en pâle) possibles de l'objet choisi dans la zone objet (2). |
4) Marge de la fenêtre code | Contient des repères visuels lors du développement d'un programme VBA: les points d'arrêt. |
5) Affichage Procédure/module | Boutons permettant de basculer entre l'affichage d'une seule procédure et l'affichage de toutes les procédures du module. |
6) Éditeur de code | Éditeur de texte permettant de créer/éditer des procédures SUB ou des procédures Function. |
7) Barre de fractionnement | Permet de diviser la fenêtre de code en deux parties horizontales pour afficher simultanément deux parties d'un même module. |
La fenêtre code offre les fonctionnalités d'éditeur habituelles pour créer/éditer du code VBA. Il y existe aussi quelques fonctionnalités additionnelles:
Les touches Ctrl+espace offrent de compléter le mot où se trouve le curseur
dans la fenêtre de code.
Les mots réservés VBA sont bleus.
Les commentaires sont verts.
Les lignes erronées sont rouges.
La touche F1 démarre l'aide contextuelle, dont le principal
défaut est l'absence d'outil de recherche. Voir la fenêtre
recherche.
D'autres raccourcis sont disponibles.
Cette fenêtre permet d'exécuter une ligne de code VBA en dehors d'un module.
Par exemple, taper ? fnMoyenneAvecCellulesNulles(Range("A1..B5") exécute la fonction personnalisée fnMoyenneAvecCellulesNulles et en affiche le résultat.
? Range("A1") affichera la valeur de la cellule A1. C'est modérément utile pour tester des instructions.
Cette fenêtre affiche la liste des variables locales du module en cours d'exécution (mode débogage) et permet d'en connaître la valeur et le type.
Cette fenêtre affiche la valeur de variables choisies, en
mode débogage. À la différence de la Fenêtre variables locales, il est
possible de s'y faire
afficher la valeur de n'importe quelle variable, locale ou
non.
Cette fenêtre donne accès à l'aide VBA locale et en ligne, et affiche le
résultat d'une recherche.
Pour afficher la fenêtre Recherche, faites une recherche dans la zone de texte déroulante Taper
une question de la barre de menus (en haut à droite de la fenêtre VBA).
Vous pouvez également démarrer l'aide contextuelle à partir de la fenêtre de code, en utilisant la touche F1, dont le principal défaut est l'absence d'outil de recherche.
En faisant une recherche sur le mot clé Objet Excel, vous accéderez à une description graphique des objets et des collections Excel que votre programme VBA peut manipuler:
F7 affiche la fenêtre code.
F2 affiche l'explorateur d'objets.
Ctrl+bas procédure suivante.
Ctrl+PgDn écran suivant.
Autres raccourcis habituels (Ctrl-C, Tab, etc...).
F9 ajoute/supprime un point d'arrêt.
Ctrl+Maj+F9 supprime tous les points d'arrêt.
Ctrl+espace active Compléter mot.
F5 exécute la procédure active.
F8 démarre le mode pas à pas.
Ctrl+F8 exécute jusqu'au curseur.
Ctrl+S enregistre le code VBA dans le classeur (mais n'enregistre
pas le classeur!).
Un programmeur passe la grande majorité de son temps à tester et à déboguer du code. Il est donc essentiel de maîtriser les techniques de débogage ci-dessous.
Pour une procédure Sub sans paramètre:
Placez le curseur dans la procédure.
Appuyez la touche F8 pour exécuter une ligne de code.
Examinez les résultats de cette exécution dans la fenêtre variables,
locales, dans la fenêtre espions, en survolant une variable de la procédure
avec la souris ou dans le classeur Excel.
Appuyez la touche F8 pour exécuter la ligne de code suivante.
Répétez ...
Alternative:
Placez le curseur dans la procédure, sur la ligne qui vous inquiète.
Appuyez les touches Ctrl+F8 pour exécuter la procédure jusqu'à cette
ligne.
Examinez les résultats de cette exécution dans la fenêtre variables
locales et dans la fenêtre espions, en survolant une variable de la procédure
avec la souris ou dans le classeur Excel.
Appuyez la touche F8 pour exécuter la ligne de code suivante.
Répétez F8 pout chaque ligne que vous voulez exécuter.
Alternative:
Placez un point d'arrêt dans la marge à la hauteur de la ligne qui vous
inquiète (F9 ou Débogage/point d'arrêt).
Démarrez l'exécution (F5).
Examinez les résultats de cette exécution jusqu'à la ligne contenant le
point d'arrêt dans la fenêtre variables locales et dans la fenêtre espions,
en survolant une variable de la procédure avec la souris ou dans le classeur
Excel.
Appuyez la touche F8 pour exécuter la ligne de code suivante.
Répétez F8 pout chaque ligne que vous voulez exécuter.
Alternative:
Placez l'instruction Stop dans une nouvelle ligne avant la ligne qui
vous inquiète.
Démarrez l'exécution (F5).
Elle s'arrête à la line Stop.
Appuyez la touche F8 pour exécuter la ligne de code suivante.
Examinez les résultats de cette exécution dans la fenêtre variables
locales et dans la fenêtre espions, en survolant une variable de la procédure
avec la souris ou dans le classeur Excel.
Répétez la touche F8 pout chaque ligne que vous voulez exécuter.
Alternative si l'exécution de la procédure semble s'éterniser:
Placez le curseur dans la procédure.
Démarrez l'exécution (F5).
Stoppez l'exécution avec les touches Ctrl+Pause (Attn ou Break).
Utilisez la touche F8 pour exécuter les lignes de code une à une.
Examinez les résultats de l'exécution de chaque ligne dans la fenêtre
variables locales et dans la fenêtre espions, en survolant une variable de la
procédure avec la souris ou dans le classeur Excel.
Répétez F8 pout chaque ligne que vous voulez exécuter.
Pour une procédure Sub avec paramètre ou pour une procédure Function (fonction):
Placez un point d'arrêt près d'une ligne suspecte de la procédure ou la
fonction.
OU
Placez l'instruction Stop près d'une ligne suspecte de la procédure ou la
fonction.
Exécutez la procédure ou la fonction en l'appelant à partir de la
fenêtre Exécution.
Abonnez-vous à l'infolettre Abonnez-vous à l'infolettre du site pour recevoir les dernières nouvelles et aussi des formations à votre courriel. Vous pouvez voir la liste des dernières infolettres ici. |