Créer eventmacros pour l’objet Application à l’aide VBA dans Microsoft Excel
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.