Gestion des événements
Présentation
Un événement est une action utilisateur ou système reconnue par un objet Microsoft Excel. Il déclenche la procédure événementielle associée à l’événement de l’objet activé.
Les procédures événementielles vous permettent d’associer un code personnalisé en réponse à un événement qui se produit sur un objet Excel (classeur, feuille, formulaire, graphique...).
Écriture des événements
1. Événements de classeur, de feuille ou de formulaire
Vous pouvez accéder aux procédures événementielles associées à un objet de la façon suivante :
Dans la fenêtre Explorateur de projets, double cliquez sur l’objet souhaité (classeur, feuille, ou formulaire) afin de faire apparaître la fenêtre de code correspondante.
Ouvrez la liste déroulante de gauche de la fenêtre de code et sélectionnez Workbook, Worksheet ou UserForm en fonction de l’objet sélectionné.
Vous pouvez alors sélectionner l’un des événements liés à l’objet sélectionné dans la liste déroulante de droite afin de lui associer un code personnalisé.
Vous pouvez à tout moment désactiver l’exécution des procédures événementielles en affectant False à la propriété EnableEvents de l’objet Application.
Exemple
Cet exemple montre comment obtenir l’historique de tous les liens hypertextes qui ont été visités à partir de la feuille de calcul active.
Résultat dans Excel :
2. Événements de l’objet Application
Trois étapes sont nécessaires à l’écriture et à l’exécution des événements de l’objet Application.
Étape 1
Insérez un module de classe :
Insertion - Module de classe
Une fois le module inséré, nommez-le.
Exemple
Nommez le module de classe ObjApplication.
Étape 2
Dans le module de classe, créez un objet Application par le code suivant :
Public WithEvents NomObjet As Application
Exemple
Création...
Les événements de l’objet Application
AfterCalculate
Survient après le recalcul des formules du classeur.
NewWorkbook
Survient lorsqu’un nouveau classeur est créé.
ProtectedViewWindowActivate
Survient lorsqu’une fenêtre Mode protégé est activée.
ProtectedViewWindowBeforeClose
Survient juste avant qu’une fenêtre Mode protégé ou un classeur dans une fenêtre Mode protégé ne soit fermé.
ProtectedViewWindowBeforeEdit
Survient juste avant que la modification soit activée sur le classeur dans la fenêtre Mode protégé spécifiée.
ProtectedViewWindowDeactivate
Survient lorsqu’une fenêtre Mode protégé est désactivée.
ProtectedViewWindowOpen
Survient lorsqu’un classeur est ouvert dans une fenêtre Mode protégé.
ProtectedViewWindowResize
Survient lorsqu’une fenêtre Mode protégé est redimensionnée.
SheetActivate
Survient lorsqu’une feuille est activée.
SheetBeforeDoubleClick
Survient lorsque l’utilisateur double clique sur une feuille de calcul avant le double clic par défaut.
SheetBeforeRightClick
Survient lorsque l’utilisateur effectue un clic droit sur une feuille de calcul avant le clic par défaut à l’aide du clic droit de la souris.
SheetCalculate
Survient après le recalcul de toute feuille de calcul ou après le traçage des données modifiées sur un graphique.
SheetChange
Survient lorsque des cellules d’une feuille de calcul sont modifiées par l’utilisateur ou par un lien externe.
SheetDeactivate
Survient lorsqu’une feuille de calcul est désactivée.
SheetFollowHyperLink
Survient lorsque l’utilisateur clique sur un lien hypertexte dans Microsoft Excel.
SheetPivotTableAfterValueChange...
Les événements de l’objet Workbook
Activate
Survient lorsque le classeur est activé.
AddinInstall
Survient lorsque le classeur est installé sous la forme d’une macro complémentaire.
AddinUninstall
Survient lorsque le classeur est désinstallé sous la forme d’une macro complémentaire.
AfterSave
Survient après l’enregistrement du classeur.
AfterXMLExport
Survient après l’export d’un fichier XML.
AfterXMLImport
Survient après l’import d’un fichier XML.
BeforeClose
Survient avant la fermeture du classeur ; si le classeur a été modifié, cet événement se produit avant que l’utilisateur soit invité à enregistrer ses modifications.
BeforePrint
Survient avant l’impression du classeur (ou de tout élément de celui-ci).
BeforeSave
Survient avant l’enregistrement du classeur.
BeforeXMLExport
Survient avant l’export d’un fichier XML.
BeforeXMLImport
Survient avant l’import d’un fichier XML.
Deactivate
Survient lorsque le classeur est désactivé.
NewChart
Survient lorsqu’un nouveau graphique est créé dans le classeur.
NewSheet
Survient lorsqu’une nouvelle feuille est créée dans le classeur.
Open
Survient lorsque le classeur est ouvert.
PivotTableOpenConnection
Survient lorsqu’un rapport de tableau croisé dynamique a établi une connexion avec sa source de données.
PivotTableCloseConnection
Survient lorsqu’un rapport de tableau croisé dynamique se déconnecte de sa source de données.
RowsetComplete
L’événement est déclenché lorsque l’utilisateur extrait le jeu d’enregistrements d’un tableau croisé OLAP.
SheetActivate
Survient lorsqu’une feuille est activée.
SheetBeforeDoubleClick
Survient...
Les événements de l’objet Worksheet
Activate
Survient lorsqu’un classeur, une feuille de calcul, une feuille graphique ou un graphique incorporé est activé.
BeforeDelete
Survient avant la suppression de la feuille.
BeforeDoubleClick
Survient lorsque l’utilisateur double clique sur une feuille de calcul ou un graphique incorporé avant le double clic par défaut.
BeforeRightClick
Survient lorsque l’utilisateur effectue un clic droit sur un graphique incorporé ou une feuille de calcul avant le clic par défaut à l’aide du clic droit de la souris.
Calculate
Survient après le recalcul de la feuille de calcul.
Change
Survient lorsque les cellules de la feuille de calcul sont modifiées par l’utilisateur ou par un lien externe.
Deactivate
Survient lorsque la feuille de calcul est désactivée.
FollowHyperLink
Survient lorsque l’utilisateur clique sur un lien hypertexte dans une feuille de calcul.
PivotTableAfterValueChange
Survient après qu’une cellule ou plage de cellules dans un tableau croisé dynamique soit modifiée ou recalculée (pour les cellules qui contiennent des formules).
PivotTableBeforeAllocateChanges
Survient avant que des modifications soient appliquées à un tableau croisé dynamique.
PivotTableBeforeCommitChanges
Survient avant que les modifications soient validées par rapport à la source de données OLAP pour un tableau croisé dynamique.
PivotTableBeforeDiscardChanges
Survient avant le rejet de modifications apportées à un tableau croisé dynamique.
PivotTableChangeSync
Survient après des modifications à un tableau croisé dynamique.
PivotTableUpdate
Survient lorsqu’un rapport de tableau croisé dynamique a été mis à jour dans une feuille de calcul.
SelectionChange
Survient lorsque...
Les événements de l’objet Chart
Activate
Survient lorsqu’une feuille graphique ou un graphique incorporé est activé.
BeforeDoubleClick
Survient lorsque l’utilisateur double clique sur une feuille de graphique ou un graphique incorporé avant le double clic par défaut.
BeforeRightClick
Survient lorsque l’utilisateur effectue un clic droit sur un graphique incorporé ou une feuille de graphique avant le clic par défaut à l’aide du clic droit de la souris.
Calculate
Survient après que le graphique a tracé des données nouvelles ou modifiées.
Deactivate
Survient lorsque le graphique est désactivé.
MouseDown
Survient lorsque l’utilisateur effectue un clic droit ou gauche alors que le pointeur se trouve sur un graphique.
MouseMove
Survient lorsque le pointeur de la souris se déplace sur un graphique.
MouseUp
Survient lorsque l’utilisateur relâche le clic gauche ou droit alors que le pointeur se trouve sur un graphique.
Resize
Survient lorsque le graphique est redimensionné.
Select
Survient lorsqu’un élément de graphique est sélectionné.
SeriesChange
Survient lorsque l’utilisateur modifie la valeur d’un point de données d’un graphique.