Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. VBA Excel (versions 2021 et Microsoft 365)
  3. Gestion des événements
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

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...).

images/08mp01.PNG

É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.

images/09RI01N.PNG

Résultat dans Excel :

images/N09RI01.png

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

ou ouvrez la liste images/09RI03N.PNG et cliquez sur 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.