Académique Documents
Professionnel Documents
Culture Documents
Exemple d’objets :
Objet:
Classe:
Une classe est une catégorie (sorte) d'objets. Votre programme peut manipuler une cellule précise (ou un groupe de cellule), mais pas le concept
de cellule.
Propriétés:
Chaque objet possède des propriétés qui le décrivent. La liste des propriétés varie d'une classe à l'autre, mais tous les objets d'une même classe
ont les mêmes propriétés. Ce qui les distingue, ce sont les valeurs des propriétés.
Par exemple, toutes les feuilles Excel ont la propriété Name, mais la valeur de la propriété Name est différente pour chaque feuille (du moins on le
souhaite).
Méthode:
Une méthode est une action que peut réaliser un objet. La liste des méthodes varie d'une classe à l'autre, mais tous les objets d'une même classe
ont les mêmes méthodes.
Par exemple, la méthode Copy d'une cellule permet de copier le contenu de cette cellule dans le presse-papier (ou dans une autre cellule).
Évidemment, il arrive qu'une méthode change les propriétés d'un objet. Par exemple, la méthode PasteSpecial d'une cellule change une ou
plusieurs propriétés de cette cellule.
Événement:
Un événement permet d'associer une procédure VBA à un objet. Par exemple, l'événement Change d'une feuille se produit lorsqu'une cellule de
cette feuille est modifiée et permet d'associer une procédure nommée Worksheet_Change à cette feuille Excel.
Collection:
Ensemble d'objets d'une même classe qui peuvent être adressés avec le nom de la collection et un numéro d'item.
Par exemple, un classeur Excel est une collection Sheets d'objets WorkSheet et/ou Chart
VBA-01: Programmation VBA 3
L’EXPLORATEUR D’OBJETS
L’EXPLORATEUR D’OBJETS
Sélection de toutes les cellules non vides dans une seule colonne en dessous de la cellule active:
Cellule ou plage? Le modèle objet Excel ne fait pas la différence entre une plage et une cellule.
Une cellule est simplement une plage ne contenant qu'une cellule.
On peut manipuler une feuille de classeur par son nom ou par son indice:
La différence entre les deux collections est que la collection Sheets contient
aussi les objets Chart du classeur
VBA-01: Programmation VBA 7
Principaux objets Excel
• Chaque objet est défini par un ensemble de propriétés, qui représentent les
caractéristiques de l’objet.
Objet.Propriété
Exemple :
MaPlage.value = « Bonjour »
MaPlage.Font.Size = 12
Exemple :
• Range("A1:C12").Select ‘sélectionne la plage
• Selection.Clear ‘efface le contenu des cellules sélectionnées
• ActiveWorkbook.SaveAs "C:\test.xls" ‘Enregistre le classeur actif
dans un fichier.
• ActiveCell.Name = "Total" ‘nomme la cellule active
Range(«B2:B45»).Name = "Total" ‘nomme la plage
L’instruction With...End With
Exemple :
Sub ModifiePolice(MaPlage As Range)
MaPlage.Select
With Selection.Font
.Size = 12
.ColorIndex = 3
.Italic = True
End With
End Sub
Quelques propriétés et méthodes pratique
Objet Propriété ou méthode Description
WorkSheet Visible; count Masquer la feuille = 0 ; =-1 annule : nombre des feuilles
Sheets; Workbooks Add ; Delete Créer une feuille ou supprimer une feuille
Count ThisWorkbook.Sheets.Add After:=Sheets(ThisWorkbook.Sheets.Count)
WorkSheet Calculate Lancer le calcul de la feuille
Exemple
• Range("A1:B4") la plage de cellules A1:B4 et renvoie un objet Range.
• Worksheets(1) la première feuille de calcul du classeur actif et renvoie un objet
Worksheet.
• Workbooks("Classeur1.xls").Worksheets("Feuil1") la feuille de calcul de nom Feuil1 du
classeur de nom Classeur1.xls et renvoie un objet Worksheet.
VBA-01: Programmation VBA 14
LES EVENEMENTS
• VBA offre la possibilité de créer ses propres fonctions, qui peuvent être utilisées
dans EXCEL comme n’importe quelle fonction intégrée.
Function NomFonction([argument_1,..., argument_n])
Instructions
...
NomFonction = valeur de retour
...
End Function
Les crochets [ ] signifient que les arguments sont facultatifs
Attention : Dans VBA, les arguments d’une fonction sont séparés par des virgules,
alors que dans EXCEL ils sont séparés par des points-virgules.
Page 6