« Macros-commandes VBA/Procédures et événements automatiques » : différence entre les versions

Contenu supprimé Contenu ajouté
Bakope (discussion | contributions)
Bakope (discussion | contributions)
Aucun résumé des modifications
Ligne 91 :
!''Lorsqu'il est déclenché :''
|-
|Workbook_Activate
|Activate
|Le classeur est activé.
|-
|Workbook_BeforeClose
|BeforeClose
|Le classeur est fermé.
|-
|Workbook_BeforePrint
|BeforePrint
|Le classeur est imprimé.
|-
|Workbook_BeforeSave
|BeforeSave
|Le classeur est enregistré.
|-
|Workbook_Deactivate
|Deactivate
|Le classeur est désactivé.
|-
|Workbook_NewSheet
|NewSheet
|Une nouvelle feuille de calcul est insérée dans le classeur.
|-
|Workbook_Open
|Open
|Le classeur est ouvert.
|-
|Workbook_SheetActivate
|SheetActivate
|Une feuille de calcul du classeur est activée.
|-
|Workbook_SheetBeforeRightClick
|SheetBeforeRightClick
|Un clic du bouton droit se produit dans une cellule de la feuille de calcul.
|-
|Workbook_SheetBeforeDoubleClick
|SheetBeforeDoubleClick
|Un double clic se produit dans une cellule de la feuille de calcul.
|-
|Workbook_SheetCalculate
|SheetCalculate
|Une feuille de calcul du classeur est recalculée.
|-
|Workbook_SheetChange
|SheetChange
|Une cellule du classeur est modifiée.
|-
|Workbook_SheetDeactivate
|SheetDeactivate
|Une feuille de calcul du classeur est désactivée.
|-
|Workbook_SheetFollowHyperlink
|SheetFollowHyperlink
|Un clic se produit sur un lien hypertexte du classeur.
|-
|Workbook_SheetSelectionChange
|SheetSelectionChange
|La sélection est modifiée.
|-
|Workbook_WindowActivate
|WindowActivate
|La fenêtre du classeur est activée.
|-
|Workbook_WindowDeactivate
|WindowDeactivate
|La fenêtre du classeur est désactivée.
|-
|Workbook_WindowResize
|WindowResize
|La fenêtre du classeur est redimensionnée.
|}
=== OpenWorkbook_Open ===
L'un des
événements les plus communément utilisés est l'événement de classeur
Ligne 179 :
</source>
 
=== BeforeCloseWorkbook_BeforeClose ===
Voyons maintenant la procédure d'événement BeforeClose. Exécutée juste avant que le classeur se ferme, elle est localisée dans la fenêtre code de l'objet ThisWorkbook. Par exemple :
<source lang=vb>
Ligne 200 :
Cet événement présente tout de même un inconvénient. Si vous refermez Excel et qu'un fichier ouvert a été modifié depuis la dernière sauvegarde, l'application vous demandera comme d'habitude si vous voulez enregistrer les changements opérés. le fait de cliquer sur le bouton Annuler clôt le processus de fermeture d'Excel. Mais la procédure Workbook_BeforeClose aura tout de même été exécutée.
 
=== BeforeSaveWorkbook_BeforeSave ===
L'événement BeforeSave est déclenché avant l'enregistreur d'un classeur. Il se produit lorsque vous utilisez la commande Fichier/Enregistrer ou Fichier/Enregistrer sous.
 
Ligne 229 :
!''Lorsqu'il est déclenché :''
|-
|Worksheet_Activate
|Activate
|La feuille est activée.
|-
|Worksheet_SheetActivate
|SheetActivate
|Une feuille de calcul du classeur est activée.
|-
|Worksheet_BeforeRightClick
|BeforeRightClick
|Un clic du bouton droit se produit dans la feuille de calcul.
|-
|Worksheet_BeforeDoubleClick
|BeforeDoubleClick
|Un double clic se produit dans la feuille de calcul.
|-
|Worksheet_Deactivate
|Deactivate
|Une feuille de calcul est désactivée.
|-
|Worksheet_Calculate
|Calculate
|La feuille de calcul est recalculée.
|-
|Worksheet_Change
|Change
|Une cellule de la feuille de calcul est modifiée.
|-
|Worksheet_SelectionChange
|SelectionChange
|La sélection est modifiée.
|}
 
=== BeforeDoubleClickWorksheet_BeforeDoubleClick ===
Il est possible de définir une procédure VBA qui soit exécutée lorsque l'utilisateur double-clique dans une cellule. Dans l'exemple suivant, stocké dans la fenêtre Code d'un objet Feuil, double-cliquer dans une cellule met son contenu en gras s'il est en caractères maigres, et inversement.
 
Ligne 268 :
Notez que Cancel est défini avec la valeur True. Cela empêche l'action par défaut (activer le mode édition de cellule d'Excel) de se produire.
 
=== ActivateWorksheet_Activate ===
Excel peut détecter si une feuille est activée ou désactivée et exécuter une macro lorsque l'un ou l'autre de ces événements se produit. Ces procédures d'événement doivent être placées dans la fenêtre Code de l'objet Feuil.
Pour accéder rapidement à la fenêtre de code d'une feuille, cliquez droit sur l'onglet de celle-ci et choisissez la commande Visualiser le code.
Ligne 299 :
Pour autant je ne vous conseille pas d'utiliser ce genre de procédure pour essayer de court-circuiter Excel. Cela pourrait être très frustrant et source de confusion pour l'utilisateur d'une part, et d'autre part facile à contourner en désactivant les macros. Il vaut mieux profiter de ces possibilités pour aider vos utilisateurs à se servir correctement de votre application.
 
=== ChangeWorksheet_Change ===
Un événement Change se produit chaque fois qu'un cellule de la feuille de calcul est modifiée. Dans l'exemple qui suit, la procédure Worksheet_Change empêche effectivement un utilisateur d'entrer une valeur non numérique dans la cellule A1. Ce listing est stocké dans la fenêtre Code de l'objet Feuil.