Objets icone objet VBA

1- Collections d‘objets

Chaque application de MICROSOFT OFFICE possède ses propres objets.

Les relations entre ces objets sont organisés selon ce qu'on appelle le modèle objet de l'application.

Par exemple, dans WORD, les objets manipulés sont des documents, des paragraphes, des mots...

Dans EXCEL, les objets manipulés sont des classeurs, des feuilles de calcul, des plages, des cellules...

Ici on va se focaliser sur le modèle objet d'EXCEL.

Pour retrouver tous les objets : Centre de développement Microsoft

Les objets sont classés d‘une manière hiérarchique.

Extrait de la liste hiérarchique d‘objets VBA Excel

Tout en haut de la hiérarchie on a l‘objet Application qui correspond à Excel.

Excel permet d‘ouvrir des classeurs. Ce qui correspond à la collection d‘objet Workbooks.

Quand on parle d‘un classeur en particulier ce sera un objet Workbook.

Dans un classeur on peut trouver des feuilles de classeurs (collection d‘objets Worksheets, des feuilles de graphiques (collection d‘objets Charts, etc. Ce à quoi correspond la collection d‘objets Sheets.

Si on veut travailler spécifiquement sur une feuille de calcul on utilisera l‘objet Worksheet.

Si on veut travailler à l‘intérieur d‘une feuille de calcul, à savoir sur une plage de cellules ou une cellule on utilisera l‘objet Range.

Vous l‘aurez compris, elles sont utilisables selon une hiérarchie descendante :

2- Workbooks

La collection Workbooks contient les objets de la classe Workbook représentant des classeurs Excel.

L‘objet Workbook est renvoyé par les propriétés suivantes de l'objet Application :

Exemple :

Workbooks("Factures").Sheets("Février").Range("B2") désigne la cellule B2 de la feuille Février du classeur Factures ;

MsgBox(ActiveWorkbook.Name) ouvre une boîte de dialogue avec le nom du classeur actif.

3- Sheets

La collection Sheets fait référence aux feuilles d'un classeur.

Sheets("Février").Range("B2") du classeur actif (ouvert et affiché) ;

4- Worksheets

La collection Worksheets fait référence aux feuilles de calcul d'un classeur (c'est-à-dire dans les feuilles de graphiques).

5- Range

L'objet Range fait référence soit à une cellule soit à une plage de cellules.

Les références aux cellules peuvent être :

6- UserForm

Un UserForm est un objet visuel qui permet de faire une interface avec l'utilisateur.

On peut y placer des objets de la collection Controls (TextBox, ListBox, CheckBox, RadioButton, ControlButton, etc).

Pour chaque UserForm il existe une feuille de module qui contiendra le code associé aux actions à exécuter lorsque survient un événement.

7- Autres objets

  1. Me
  2. C‘est un objet Excel ou VBA contenant le code en cours d‘exécution.

    Si le code appartient à une feuille, c‘est un objet Worksheet contenant cette feuille.

    Me est le plus souvent utilisé pour désigner le formulaire VBA (Forms) contenant le code en cours d‘exécution.

    On évite ainsi de nommer le formulaire dans le code VBA , ce qui donne des programmes plus faciles à utiliser dans d‘autres formulaires.

    Me.Name contient le nom du formulaire en cours d‘exécution.

    Utilisation la plus fréquente : Me.Close : ferme le formulaire qui contient cette ligne.

  3. Err
  4. C‘est un objet VBA contenant la dernière erreur rencontrée. Ses propriétés permettent d‘en connaître la nature.

  5. Err.Description
  6. Cet objet contient la description de la dernière erreur rencontrée par VBA.

  7. Err.Raise 18
  8. VBA peut déclencher une erreur avec Err.Raise 18 en simulant une interruption par l‘utilisateur (Ctrl-Break).

  9. FileSystemObject

C‘est l‘objet contenant des instructions permettant à VBA d‘accéder à l‘arborescence de dossiers et de fichiers de l‘ordinateur.

ATTENTION : ce n‘est pas un objet VBA ni un objet Excel, mais un objet de la librairie Microsoft Scripting Runtime.

Vous devez référencer cette librairie dans l‘éditeur de code VBA avant de l‘utiliser.

Objets intéressants :

Cette structure permet de parcourir l‘arborescence de documents en VBA comme avec l‘explorateur Windows.