Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. VBA Excel (versions 2021 et Microsoft 365)
  3. Les objets d'Excel
Extrait - VBA Excel (versions 2021 et Microsoft 365) Programmer sous Excel : macros et langage VBA
Extraits du livre
VBA Excel (versions 2021 et Microsoft 365) Programmer sous Excel : macros et langage VBA
2 avis
Revenir à la page d'achat du livre

Les objets d'Excel

L’objet Application

L’objet Application représente l’application Microsoft Excel active. Cet objet étant l’objet par défaut, il est souvent facultatif (exemple : Version équivaut à Application.Version).

Cet objet contient les éléments suivants :

  • Des propriétés relatives à l’environnement Excel (options d’Excel...) et à la présentation de l’interface (pointeur de la souris, texte de la barre d’état, état et taille de la fenêtre de l’application...).

  • Différentes méthodes permettant d’effectuer des actions dans l’environnement Excel.

  • Des propriétés renvoyant les objets et collections de premier niveau (objets et collections du modèle objet Excel : Workbooks, Charts...).

  • Des propriétés spécifiques faisant directement référence à des objets : ActiveCell, ActiveSheet, ActiveWindow...

Les propriétés faisant référence aux objets sont détaillées dans le chapitre La programmation objet sous Excel.

1. Propriétés représentant les options d’Excel

Les principales options d’Excel peuvent être renvoyées ou définies à partir de propriétés de l’objet Application. La plupart de ces propriétés sont en lecture et écriture.

Pour accéder aux options Excel, cliquez sur l’onglet Fichier, puis sur la commande Options.

a. Options de la catégorie Standard

images/N04RI01.png

Propriétés

Valeurs retournées

1

ShowSelectionFloaties

Booléen

2

ShowQuickAnalysis

Booléen

3

ShowConvertToDataType

Booléen

4

EnableLivePreview

Booléen

5

StandardFont

Entier long

6

StandardFontSize

Entier long

7

SheetsInNewWorkbook

Entier long

8

UserName

Chaîne de caractères...

L’objet Workbook

Cet objet représente un classeur Microsoft Excel. L’objet Workbook est un membre de la collection Workbooks.

Cet objet est renvoyé par les propriétés suivantes de l’objet Application :

  • Workbooks

  • ActiveWorkbook

  • ThisWorkbook

images/workbook.PNG

1. Objets et collections

Les objets

Theme

Objet représentant le thème appliqué au classeur.

VBProject

Objet représentant le projet Visual Basic associé à un classeur.

WebOptions

Options relatives à l’enregistrement ou l’ouverture d’une page web.

Les collections

BuiltInDocumentProperties

Collection de toutes les propriétés de document (auteur, titre, objet, mots-clés...) du classeur.

Charts

Collection de tous les graphiques d’un classeur.

CommandBars

Collection des barres de commandes d’Excel.

Connections

Collection de toutes les connexions à des sources de données pour le classeur. 

CustomDocumentProperties

Collection des propriétés d’un classeur (titre, auteur, commentaires...).

CustomViews

Collection des vues personnalisées d’un classeur.

Names

Collection des plages de cellules nommées d’un classeur.

PivotTables

Collection des tableaux croisés dynamiques contenus dans un classeur.

PublishObjects

Collection des éléments d’un classeur qui ont été enregistrés dans une page web et pouvant être actualisés.

SlicerCaches

Collection des caches de segments associés à un classeur.

Styles

Collection des styles d’un classeur.

TableStyles

Collection des différents styles applicables à un tableau.

Windows

Collection de toutes les fenêtres de l’application Excel.

Worksheets

Collection des feuilles de calcul d’un classeur.

XmlMaps

Collection des différents mappages XML d’un classeur. Les mappages sont utilisés...

L’objet Worksheet

Cet objet représente une feuille de calcul Excel. L’objet Worksheet est un membre de la collection Worksheets de l’objet Workbook.

Cet objet est renvoyé par les propriétés suivantes de l’objet Application :

  • Worksheets

  • ActiveSheet

1. Liste des objets et collections

images/worksheet.PNG

2. Objets et collections

Les objets

AutoFilter

Objet représentant le filtre automatique de la feuille de calcul spécifiée.

OutLine

Objet représentant le plan de la feuille de calcul spécifiée.

PageSetup

Objet représentant les options de mise en page de la feuille de calcul spécifiée.

Protection

Objet représentant les options de protection pour la feuille de calcul spécifiée. Ces options sont accessibles depuis Excel à partir du menu Outils - Protection - Protéger la feuille.

Range

Objet représentant une cellule ou une plage de cellules (une ligne, une colonne...). 

Tab

Objet représentant l’onglet de la feuille de calcul spécifiée.

Les collections

ChartObjects

Collection de tous les graphiques incorporés dans la feuille de calcul spécifiée.

Comments

Collection de tous les commentaires de cellule de la feuille de calcul spécifiée.

CustomProperties

Collection d’objets CustomProperty représentant les informations supplémentaires (métadonnées pour XML ou balises actives).

HPageBreaks

Collection des sauts de page horizontaux au sein de la zone d’impression de la feuille spécifiée.

HyperLinks

Collection des liens hypertextes de la feuille de calcul spécifiée.

ListObjects

Collection de toutes les listes de la feuille de calcul spécifiée.

Names

Collection des plages de cellules nommées de la feuille de calcul spécifiée.

OLEObjects

Collection des objets ActiveX et des objets...

L’objet Range

L’objet Range représente une plage de cellules pouvant être constituée :

  • d’une cellule,

  • d’une ligne,

  • d’une colonne,

  • d’une plage de cellules contiguës,

  • d’une plage de cellules disjointes,

  • d’une plage 3D.

1. Propriétés et méthodes renvoyant un objet Range

Propriétés renvoyant un objet Range

Propriété

Objet conteneur

Objet renvoyé

ActiveCell

Application Window

Objet Range représentant la première cellule active de la fenêtre active ou spécifiée.

Areas

Range

Collection qui englobe toutes les plages dans une sélection multiple.

Cells

Application Range Worksheet

Objet Range représentant une cellule ou une collection de cellules :

  • de la feuille active si l’objet conteneur est Application

  • de la plage spécifiée si l’objet conteneur est Range

  • de la feuille de calcul spécifiée si l’objet conteneur est Worksheet

CircularReference

Worksheet

Objet Range représentant la plage contenant la première référence circulaire de la feuille.

Columns

Application Range Worksheet

Objet Range représentant toutes les colonnes :

  • de la feuille active si l’objet conteneur est Application,

  • de la plage spécifiée si l’objet conteneur est Range,

  • de la feuille spécifiée si l’objet conteneur est Worksheet.

CurrentRegion

Range

Objet Range représentant la plage spécifiée limitée par toute combinaison de lignes et de colonnes vides.

Dependents

Range

Objet Range représentant la plage contenant tous les dépendants d’une cellule. Il peut s’agir d’une sélection multiple (une union d’objets Range) s’il existe plusieurs dépendants.

DirectDependents

Range

Objet Range représentant la plage contenant tous les dépendants...

Exemples d’utilisation des objets

1. Calcul du montant d’une prime

images/04RIN12.PNG

La plage de cellules "D6:D14" doit être nommée CA.

Lorsque l’utilisateur clique sur le bouton de commande Calcul des primes la procédure Calc_primes est exécutée. Cette procédure sélectionne la plage de cellules nommée CA (cellules "D6:D14") et fait appel à la fonction Prime pour calculer la prime et l’affecter à la cellule de droite.

Sub Calc_Primes() 
   Dim dblCaMoyen As Double 
   Dim oCellule As Range 
 
   ' Sélection de la plage nommée CA 
   ThisWorkbook.Names("CA").RefersToRange.Select 
   ' Calcul de la moyenne de la sélection 
   dblCaMoyen = Evaluate("AVERAGE(CA)") 
   ' Parcours des cellules de la sélection 
   ' La prime calculée est affectée à la cellule de droite 
   For Each oCellule In Selection 
       Cells(oCellule.Row, oCellule.Column + 1) = _ 
       Prime(oCellule.Value, dblCaMoyen) 
   Next oCellule 
End Sub 

La fonction Prime permet de calculer la prime en fonction du CA (chiffre d’affaires) réalisé et de la moyenne des autres CA.

Function Prime(dblCA As Double, dblCaMoyen As Double) As Double 
 
   ' Prime en fonction du montant du CA 
   Select Case dblCA 
      Case Is < 100000 
           Prime = 0 
      Case Is < 125000 
           Prime...