• Aucun résultat trouvé

L’Explorateur d’objets

Dans le document VBA et Excel (Page 103-111)

Lorsqu’on commence à développer en VBA, la difficulté essentielle consiste à manipuler les objets de l’application hôte (dans notre cas les objets Excel). Comment, par exemple, accéder à une plage de cellules d’une feuille spécifique d’un classeur Excel et y insérer une formule ? L’Enregistreur de macros est dans de nombreux cas la solution à ce problème.

Vous manipulez les objets Excel après avoir activé l’Enregistreur de macro, puis vous visualisez dans Visual Basic Editor les mots clés Visual Basic utilisés pour accéder aux objets, à leurs propriétés et à leurs méthodes.

Chapitre 4 Découvrir Visual Basic Editor 93

Cependant, certains éléments de code d’un programme VBA ne peuvent être générés à l’aide de l’Enregistreur de macro et ne peuvent qu’être saisis dans la fenêtre Code du programme. Vous devez alors connaître la position de l’objet auquel vous souhaitez accéder dans la hiérarchie de classes de l’application. Vous devez aussi connaître les méthodes et propriétés associées à cet objet pour pouvoir le manipuler ou en extraire des informations.

Les chapitres précédents vous ont initié à la syntaxe VBA permettant d’accéder à un objet.

Pour autant, lorsque vous commencerez à développer dans Visual Basic Editor, vous ne connaîtrez pas toujours le chemin à emprunter pour accéder à tel ou tel objet, ni la méthode à lui appliquer pour effectuer telle ou telle opération. L’Explorateur d’objets constitue pour cela une aide très appréciable pour le développeur. L’Explorateur d’objets recense en effet l’ensemble des objets disponibles dans les bibliothèques d’objets accessibles pour un projet, ainsi que les propriétés, constantes, méthodes et événements associés à ces objets.

Il constitue en cela un très supplément à l’aide de Visual Basic pour Applications.

Une bibliothèque d’objets est un fichier contenant toutes les données d’objets (leurs propriétés, méthodes, événements, constantes, etc.). Ce fichier porte l’ex-tension .OLB et c’est à lui que se réfère Visual Basic lorsque vous manipulez des objets Excel. Le nom de fichier de la bibliothèque d’objets d’Excel ainsi que son emplacement varient d’une version à l’autre. Pour le localiser, effectuez une recherche sur *.olb.

Lorsque vous recherchez un objet ou souhaitez en connaître les membres –  c’est ainsi que l’on nomme les éléments Visual Basic (méthodes, propriétés, événements, constantes) associés à un objet  –, l’Explorateur d’objets vous fournit une documentation complète.

Il permet d’accéder au modèle d’objets de l’application hôte, mais aussi aux objets d’autres applications et aux objets, procédures et constantes que vous avez créés dans le cadre de votre projet, ainsi qu’aux rubriques d’aide associées à chacun de ces éléments.

Afficher et masquer l’Explorateur d’objets Pour afficher l’Explorateur d’objets, vous pouvez :

sélectionner la commande Explorateur d’objets du menu Affichage ;

taper le raccourci clavier F2 ;

cliquer sur le bouton Explorateur d’objets de la barre d’outils Standard de Visual Basic Editor.

Définition

94 Excel et VBA

Pour masquer l’Explorateur d’objets, vous pouvez :

cliquer du bouton droit dans sa fenêtre et sélectionner la commande Masquer du menu contextuel qui s’affiche ;

cliquer sur l’icône située à gauche de la barre de titre et sélectionner la commande Fermeture ;

cliquer sur la case de fermeture de la fenêtre.

Naviguer dans l’Explorateur d’objets

S’il peut effrayer le programmeur novice, l’Explorateur d’objets est en réalité d’une utili-sation simple et intuitive. Cette section en présente l’utiliutili-sation.

La zone de liste Projet/Bibliothèque

La zone de liste déroulante Projet/Bibliothèque permet de sélectionner le projet ou la biblio-thèque d’objets de votre choix. Le Tableau 4.1 présente les bibliobiblio-thèques les plus courantes accessibles dans l’Explorateur d’objets.

Tableau 4.1 : Les bibliothèques les plus courantes de l’Explorateur d’objets

Bibliothèque Description

<Toutes

biblio-thèques> Lorsque cette option est sélectionnée, les objets sont affichés, toutes bibliothèques confondues.

MSForms Contient les objets accessibles dans la fenêtre UserForm, tels que les boutons d’op-tions, cases à cocher, zones de liste, etc.

Chapitre 4 Découvrir Visual Basic Editor 95

Bibliothèque Description

Office Contient les objets Microsoft Office. Il s’agit des objets communs aux applications Office, tels que l’objet Balloon représentant l’info-bulle dans laquelle le Compagnon Office affiche les informations.

VBA Il s’agit de la bibliothèque Visual Basic pour Applications. Les objets y sont classés par thème. Par exemple, le module Information contient les procédures permettant de renvoyer et de vérifier des informations, le module String contient les procé-dures permettant d’effectuer des opérations sur des chaînes.

Excel Contient les objets d’Excel.

Autres

applications Contient les objets des autres applications référencées dans votre projet. Référencer une autre application permet d’accéder aux objets de cette application à partir d’Ex-cel. Vous verrez au Chapitre 6 comment créer une référence à la bibliothèque d’ob-jets d’une autre application, et comment manipuler des obd’ob-jets de cette dernière.

Projets Affiche les objets propres au projet, tels que les feuilles, les modules de classe et les modules de code que vous avez créés.

Les zones Classes et Membres de

Lorsque vous sélectionnez une bibliothèque dans la zone de liste Bibliothèque/Projet, la zone Classes affiche l’ensemble des classes disponibles dans cette bibliothèque. Les classes sont affichées par type et par ordre alphabétique au sein de chaque type. Chaque type de classe (feuille, module de code, module de classe) est symbolisé par une icône. Lorsqu’une classe contient du code rédigé par l’utilisateur, son nom apparaît en gras (voir Figure 4.9).

Figure 4.9

Les classes contenant du code apparaissent en gras.

Pour explorer les membres d’une classe, sélectionnez cette classe dans la zone Classes. Les membres disponibles pour cette classe apparaissent dans la zone Membres de "Classe" – où Classe est le nom de la classe sélectionnée.

96 Excel et VBA

On appelle membres d’une classe l’ensemble des éléments référencés pour cette classe, c’est-à-dire ses propriétés, constantes, méthodes et événements.

Les membres affichés dans la zone Membres de "Classe" sont affichés par type (propriétés, constantes, méthodes et événements) et par ordre alphabétique au sein de chaque type.

Chaque type de membre est symbolisé par une icône. Lorsqu’un membre contient du code rédigé par l’utilisateur, son nom apparaît en gras.

Pour afficher les membres d’une classe par ordre alphabétique, indépendam-ment de leur type, cliquez du bouton droit dans l’Explorateur d’objets et, dans le menu contextuel qui s’affiche, sélectionnez la commande Membres du groupe.

Pour revenir à un affichage par groupe, répétez cette opération.

Accéder à la rubrique d’aide de l’objet sélectionné

Lorsqu’un élément est sélectionné dans l’Explorateur d’objets, il est très simple d’accéder à la rubrique d’aide qui lui est affectée. Vous pouvez :

cliquer sur le bouton Aide de l’Explorateur d’objets ;

taper le raccourci clavier F1 ;

cliquer du bouton droit sur l’élément voulu et sélectionner la commande Aide du menu contextuel.

Vous obtenez ainsi une aide précieuse sur l’utilisation de l’élément voulu (voir Figure 4.10).

Vous pouvez éventuellement consulter l’exemple de code fourni dans l’aide de VBA et en copier la syntaxe afin de la coller dans votre propre code.

Figure 4.10

L’Explorateur d’objets permet d’accéder rapidement aux rubriques d’aide des objets affichés.

Définition

Astuce

Chapitre 4 Découvrir Visual Basic Editor 97

Les autres contrôles de l’Explorateur d’objets

La zone Détails affiche un bref descriptif du membre sélectionné dans la zone Membres de (voir Figure  4.11). Si aucun membre n’est sélectionné, la description concerne la classe sélectionnée dans la zone Classes. Enfin, si aucune classe n’est sélectionnée, cette zone indique le chemin d’accès à la bibliothèque ou au projet affiché dans l’Explorateur d’objets.

Cette zone présente aussi, sous la forme d’un hyperlien de couleur verte, la position de l’objet sélectionné dans le modèle d’objets, et les éléments du langage éventuellement liés à la syntaxe de cet objet. Pour afficher les membres d’un objet apparaissant en hyperlien dans la zone Membres de, cliquez sur l’hyperlien le représentant.

Figure 4.11

La zone Détails récapitule les données propres à l’élément sélectionné.

Membres de Range

Renvoyant un objet Comment Propriété Comment

Le bouton Retourner permet de revenir aux sélections précédentes dans les listes Classes et Membres de. Chaque clic vous fait remonter d’une sélection. Le bouton Avancer permet de revenir aux dernières sélections effectuées après avoir utilisé le bouton Retourner.

Le bouton Copier place dans le Presse-papiers le texte sélectionné. Il peut s’agir du texte de la zone Détails, de la zone Membres de ou de la zone Classes. Le texte ainsi copié peut être collé dans une fenêtre Code.

Le bouton Afficher la définition est accessible lorsque la classe ou le membre de classe sélectionné contient du code rédigé. Il entraîne l’affichage de la fenêtre Code correspon-dant à la sélection en cours dans l’Explorateur d’objets.

98 Excel et VBA

Rechercher du texte

L’Explorateur d’objets offre un outil permettant de rechercher des chaînes de caractères dans les bibliothèques de votre choix. Pour rechercher du texte dans les bibliothèques/

projets, procédez comme suit :

1. Dans la zone Bibliothèque/Projet, sélectionnez la bibliothèque ou le projet dans lesquels vous souhaitez que la recherche s’effectue.

Si vous ne savez dans quelle bibliothèque effectuer la recherche, sélectionnez <Toutes bibliothèques>.

2. Dans la zone Rechercher texte, saisissez le texte à rechercher.

Si vous n’êtes pas certain de l’orthographe du texte à rechercher, utilisez les caractères génériques suivants :

• * toute chaîne ; • ? tout caractère.

3. Cliquez sur le bouton Rechercher. La zone Résultats de la recherche s’affiche. Pour chacun des éléments trouvés, la bibliothèque, la classe et le membre sont indiqués (voir Figure 4.12).

Figure 4.12 La zone Résultat de la recherche liste l’ensemble des éléments trouvés contenant la chaîne spécifiée.

Astuce

Chapitre 4 Découvrir Visual Basic Editor 99

4. Si vous souhaitez afficher les résultats pour d’autres bibliothèques, modifiez simple-ment la sélection dans la zone Bibliothèque/Projet. Les résultats de la recherche sont automatiquement mis à jour.

5. Pour afficher les informations concernant l’un des résultats de la recherche dans les zones Classe et Membres de, sélectionnez l’élément voulu dans la zone Résultat de la recherche.

Les zones Classe et Membres de sont automatiquement mises à jour, les objets concernés par la sélection étant entourés de pointillés (voir Figure 4.13).

Figure 4.13

Sélectionnez l’élément qui vous intéresse dans la zone Résultat de la recherche.

… ainsi que dans la zone Détails Le résultat sélectionné...

… est reflété dans les zones Classe et Membres de...

6. Pour ouvrir la rubrique d’aide associée à l’un des éléments trouvés, sélectionnez-le et cliquez sur le bouton Aide, ou tapez le raccourci clavier F1.

7. Votre recherche terminée, vous pouvez choisir de masquer la zone Résultats de la recherche. Pour cela, cliquez simplement sur le bouton Afficher/Masquer les résultats de la recherche.

Pour afficher de nouveau cette zone sans lancer une nouvelle recherche, cliquez une nouvelle fois sur le bouton.

100 Excel et VBA

Dans le document VBA et Excel (Page 103-111)