Démarrez l’éditeur Visual Basic.

Sélectionnez le projet souhaité dans la fenêtre Projet.

Insérez un nouveau module de classe en sélectionnant le menu Insertion | Module de classe.

Activez le nouveau module de classe et renommez-le, par ex. AppEventClass Copiez et collez ces exemples de macros dans le nouveau module de classe:

Public WithEvents Appl As Application

Private Sub Appl_NewWorkbook(ByVal Wb As Workbook)

' your code here

MsgBox "A new workbook is created!"

End Sub

Private Sub Appl_WorkbookBeforeClose(ByVal Wb As Workbook, _

Cancel As Boolean)

' your code here

MsgBox "A workbook is closed!"

End Sub

Private Sub Appl_WorkbookBeforePrint(ByVal Wb As Workbook, _

Cancel As Boolean)

' your code here

MsgBox "A workbook is printed!"

End Sub

Private Sub Appl_WorkbookBeforeSave(ByVal Wb As Workbook, _

ByVal SaveAsUI As Boolean, Cancel As Boolean)

' your code here

MsgBox "A workbook is saved!"

End Sub

Private Sub Appl_WorkbookOpen(ByVal Wb As Workbook)

' your code here

MsgBox "A workbook is opened!"

End Sub

Une fois que vous avez terminé de modifier les macros d’événements pour l’objet Application, vous devez ajouter du code au module ThisWorkbook pour activer les nouvelles macros d’événements:

Dim ApplicationClass As New AppEventClass

Private Sub Workbook_Open()

Set ApplicationClass.Appl = Application

End Sub

Après avoir exécuté la procédure Workbook_Open, les événements attachés à l’objet Application sont activés.