Objets VBA

Table des matières

Les objets Excel VBA font référence à des « entités » uniques composées de code et de données. L'application Excel elle-même est un objet, tout comme les classeurs, les feuilles de calcul, les plages de cellules et les formes. Chaque objet a des propriétés et des méthodes associées. Les objets peuvent également contenir d'autres objets et l'objet collections est utilisé pour faire référence à un groupe des mêmes objets Excel.

Dans ce didacticiel, nous allons examiner quelques objets Excel couramment utilisés.

Objet d'application

L'objet Application fait référence à l'ensemble de l'application Excel. L'objet Application contient l'objet classeur.

Le code suivant utilise la propriété WindowState de l'objet Application pour définir la fenêtre Excel à la taille maximale disponible :

12345 Sous MaximizingTheExcelWindow()Application.WindowState = xlMaximizedFin du sous-marin

Objet de classeur

L'objet Workbooks fait référence à la collection de tous les classeurs Excel actuellement ouverts.

Le code suivant utilise la méthode Workbooks.Add pour créer un nouveau classeur et l'ajouter à la collection :

12345 Sub AddingANewWorkbookToTheWorkbooksCollection()Classeurs.AjouterFin du sous-marin

Vous pouvez accéder à un classeur individuel dans la collection Workbooks via son numéro d'index ou son nom. Vous pouvez donc vous référer à un classeur appelé ExcelWb, en utilisant Workbooks ("ExcelWB").

Objet classeur

L'objet classeur fait partie de la collection Workbooks. L'objet classeur contient la collection de feuilles de calcul (feuilles de calcul) et la collection de feuilles (feuilles de calcul, feuilles de graphique et feuilles de macro). L'objet ActiveWorkbook fait référence au classeur qui est actif.

Le code suivant utilise la méthode ActiveWorkbook.Save pour enregistrer le classeur actif actuel :

12345 Sub SavingTheWorkbook()ActiveWorkbook.EnregistrerFin du sous-marin

Objet Feuilles

L'objet feuilles fait référence à la collection de toutes les feuilles de calcul, feuilles de graphique et macrofeuilles d'un classeur. Le code suivant utilise la méthode Sheets.Add pour ajouter une nouvelle feuille de calcul appelée ExtraSheet, après la dernière feuille de calcul du classeur :

123456 Sub AddingANewSheet()ActiveWorkbook.Sheets.Add(After :=ActiveWorkbook.Worksheets(Worksheets.Count), Count :=1, _Tapez : =xlWorksheet).Name = "ExtraSheet"Fin du sous-marin

Notez que la syntaxe de la méthode Sheets.Add est :
Feuilles.Ajouter(Avant, Après, Compter, Taper) où:

-Before est facultatif et spécifie que la nouvelle feuille doit être ajoutée avant une feuille existante.

-After est facultatif et spécifie que la nouvelle feuille doit être ajoutée après une feuille existante.

-Count est facultatif et spécifie le nombre de feuilles à ajouter.

-Type est facultatif et spécifie le type de feuille. xlWorksheet ajouterait une nouvelle feuille de calcul, xlChart ajouterait une nouvelle feuille de graphique et xlExcel4MacroSheet ou xlExcel4IntlMacroSheet ajouterait une nouvelle macrosheet. S'il est vide, la feuille xlWorksheet par défaut est utilisée.

Vous pouvez accéder à une feuille individuelle de la collection Sheets via son numéro d'index ou son nom. Vous pouvez donc vous référer à une feuille de calcul appelée SheetOne, en utilisant Sheets ("SheetOne").

Objet Feuilles de calcul

L'objet Worksheets fait référence à la collection de toutes les feuilles de calcul d'un classeur. Le code suivant utilise la méthode Worksheets.Add pour ajouter une nouvelle feuille de calcul :

12345 Sub AddingANewSheet()Feuilles de calcul.AjouterFin du sous-marin

Vous pouvez accéder à une feuille individuelle dans la collection Worksheets via son numéro d'index ou son nom. Vous pouvez donc vous référer à une feuille de calcul appelée SheetTwo, en utilisant Worksheets ("SheetTwo").

Objet Feuille de calcul

L'objet feuille de calcul fait partie de la collection Worksheets. L'objet feuille de calcul contient l'objet plage et d'autres objets. L'objet ActiveSheet fait référence à la feuille active.

Le code suivant modifie l'orientation de la page de la feuille active en paysage :

12345 Sous ModificationOrientationVersPaysage()ActiveSheet.PageSetup.Orientation = xlLandscapeFin du sous-marin

Notez que l'objet Sheet contient l'objet PageSetup et que sa propriété orientation est définie sur xlLandscape.

Objet de plage

L'objet Range peut faire référence à une seule cellule ou à un ensemble de cellules dans une feuille de calcul. Le code suivant vous montre comment utiliser la méthode Range.Select pour sélectionner les cellules A1:B1 :

12345 Sub SelectingARange()Plage ("A1:B1").SélectionnezFin du sous-marin

Objet Formes

L'objet Shapes fait référence à la collection de toutes les formes d'une feuille de calcul. Le code suivant sélectionnerait toutes les formes sur l'ActiveSheet :

12345 Sous-sélection de toutes les formes ()ActiveSheet.Shapes.SelectAllFin du sous-marin

Objet de forme

L'objet Shape fait partie de la collection Shapes. Le code suivant créerait une forme de rectangle arrondi, puis définirait la propriété name de l'objet de forme :

123456789 Sub UsingTheShapeObject()Avec Worksheets(1).Shapes.AddShape(msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Un rectangle arrondi"Terminer parFin du sous-marin

Modèle objet Excel VBA

Le modèle d'objet VBA d'Excel décrit la hiérarchie de tous les objets que vous pouvez utiliser dans Excel. Par exemple, vous pouvez utiliser l'objet Workbooks pour faire référence à tous les autres objets indirectement ou directement. Le code suivant vous montre comment sélectionner la cellule A1 à l'aide de la structure hiérarchique :

12345 Sub UsingTheHierachicalStructure()Classeurs("Livre1").Feuilles de travail("Feuille1").Plage("A1").SélectionnerFin du sous-marin

Déclaration et affectation d'une variable objet

Vous pouvez déclarer et affecter un objet à une variable en utilisant les mots clés Dim et Set.

Par exemple:

12 Dim ws comme feuille de calculDéfinir ws = ActiveWorkbook.ActiveSheet

Le code suivant vous montre comment déclarer et affecter un objet Range à une variable :

12345678910111213141516 Sub AssigningARangeToAVariable()Dim rngOne comme objetDéfinir rngOne = Range("A1:C1")rngOne.Font.Bold = TrueAvec rngOne.Font.Bold = True.Font.Name = "Calibri".Font.Taille = 9.Font.Couleur = RVB (35, 78, 125).Intérieur.Couleur = RVB (205, 224, 180).Borders(xlEdgeBottom).LineStyle = xlContinuousTerminer parFin du sous-marin

Le résultat est:

Il est essentiel de comprendre le fonctionnement des objets pour maîtriser VBA. Vous pouvez en savoir plus avec notre didacticiel interactif VBA.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave