Ordre d'exécution des procédures

On quitte Excel, et on a fait des modifications non sauvegardées dans un classeur

1. Workbook_BeforeClose
2. Message : Voulez-vous enregistrer les modifications ? Répondez oui
3. Workbook_WindowDeactivate
4. Workbook_Deactivate
5. Workbook_BeforeSave

Ces 5 étapes étant à multiplier par le nombre de classeurs ouverts !

On est dans l'onglet Feuil1, et on clique dans l'onglet Feuil2 du même classeur

Admettons que tous les événements de worksheet et de workbook contiennent du code. Admettons que nous sommes dans l'onglet Feuil1 et que nous cliquons dans l'onglet Feuil2. Les procédures seront exécutées dans cet ordre :

1. WorkSheet_Deactivate (de Feuil1)
2. Workbook_SheetDeactivate
3. Worksheet_Activate (de Feuil2)
4. Workbook_SheetActivate

On est dans Feuil1, et on crée un nouvel onglet

1. Workbook_NewSheet
2. Worksheet_Deactivate (Feuil1)
3. Workbook_SheetDeactivate (Feuil1)
4. Workbook_SheetActivate

On est dans un classeur Classeur1, et on clique dans l'autre classeur Classeur2

Admettons que nous ayons 2 classeurs côte à côte (Fenêtre/Mosaïque), et que partant du Classeur1, nous cliquons dans Classeur2 (Sans tenir en compte les onglets, puisque quand on passe d'un classeur à l'autre, si on veut également changer d'onglet, il est nécessaire de cliquer une fois de plus sur l'onglet en question, sinon ça ne marche pas)

1. Workbook_WindowDeactivate (Classeur1)
2. Workbook_Deactivate (Classeur1)
3. Workbook_Activate (Classeur2)
4. Workbook_WindowActivate (Classeur2)

On est dans une autre application et on active Excel

Dans ce cas, AUCUNE procédure n'est effectuée.

On écrit quelque chose dans une cellule et on valide avec Enter

Comme on valide avec Enter, si Excel est configuré pour que le curseur descende d'une case, l'événement en gras s'exécute en plus que si on validait avec le petit V à gauche de la barre de formule, ou si Enter ne faisait pas descendre d'une case

1. Worksheet_Change
2. Workbook_SheetChange
3. Worksheet_SelectionChange

On est dans une cellule, et on clique dans une autre cellule qui contient un lien hypertexte

1. Worksheet_SelectionChange
2. Worksheet_FollowHyperlink *
3. Workbook_SheetFollowHyperlink *

* Ces procédures n'auront le loisir de s'effectuer que quand on RECLIQUERA dans Excel... Peut-être une heure plus tard...

On est dans une cellule et on clique dans une autre cellule avec le bouton droit de la souris

1. Worksheet_Change
2. Workbook_SheetChange
3. Worksheet_SelectionChange
4. WorkSheet_BeforeRightClick
5. Workbook_SheetBeforeRightClick

On ferme un classeur (après avoir fait des modifications non encore sauvegardées), et c'est un autre classeur qui se trouvait derrière qui devient donc actif

1. Workbook_BeforeClose
Message : Voulez-vous enregistrer les modifications ? On répond Oui
2. WorkBook_BeforeSave
3. WorkBook_WindowDeactivate
4. Workbook_Deactivate
5. Workbook_Activate (L'autre classeur)
6. Workbook_WindowActivate (L'autre classeur)

On ouvre un classeur, alors qu'il y a déjà un classeur ouvert

1. Workbook_Open
2. Workbook_WindowDeactivate (Ancien classeur)
3. Workbook_Deactivate (Ancien Classeur)
4. Workbook_Activate
5. Workbook_WindowActivate