LeCompagnon.info en reconstruction

VBA pour Excel

VBA pour Excel

VBA pour Excel - VBE: l'éditeur VBA

Sur cette page

Vue d'ensemble
Modifications essentielles à l'interface
L'explorateur de projets (sauvegardes)
Fenêtre Propriétés
Fenêtre Code
Fenêtre Exécution
Fenêtre variables locales
Fenêtre Espions
Fenêtre Recherche (Aide)
Aide
Raccourcis
Déboguer

Vue d'ensemble

Accueil
Concepts de programmation
VBE l'éditeur VBA
Déclarations, types, références, expressions et assignations
Tests et branchements
Les boucles
Gestion d'erreur
Collections et tableaux
Dialogues et formulaires
Objets et événements Excel
Conseils de programmation
Liste d'instructions
Autres formations

Word 2003
Word 2007
Excel
Excel
PowerPoint 2003
PowerPoint 2007
Access
Access 2010
Internet
Général
Intelligence financière
Vidéos

Navigation
Précédent
Suivant
Page Principale
FAQ
Nouveautés
Plan du site
Références
Motivations
Manuels de formation
Fichiers de démonstration
Nous joindre
Par courriel

Abonnez-vous à
l'infolettre LCI
Partager


Abonnez-vous à l'infolettre LeCompagnon.info


 

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.

2) Explorateur de projets

Sert à choisir ce qui est affiché dans la fenêtre de code (7) et dans l'explorateur d'objets (3).

3) Explorateur d'objets

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.

12) Fenêtre Exécution

 

13) Fenêtre Variables locales

 

14) Fenêtre Espions

 

Modifications essentielles à l'interface

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 (sauvegardes)

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.

Explorateur d'objets (fenêtre Propriétés)

L'explorateur d'objets sert principalement:

-À renommer les modules et formulaires.
-À modifier les propriétés des contrôles (objets) de formulaires

Fenêtre Code ou fenêtre Formulaire

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.

Fenêtre Exécution

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.

Fenêtre variables locales

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.

Fenêtre Espions

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.

Fenêtre Recherche (Aide)

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:

Raccourcis utiles en VBE

-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!).

Déboguer

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.

Cliquez ici pour vous abonner à l'infolettre





Ce site est hébergé par 1&1.com