Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[Résolu]pb avec Workbook_BeforeClose

yuplop

XLDnaute Nouveau
Bonjour,

J'ai un classeur 1 qui remplie automatiquement un classeur 2 avec des données. Le classeur 2 ayant certaines macro assez "lourde", j'ai mis dans le ThisWorkbook de celui ci:
Code:
Private Sub Workbook_Open()
    With Application
        xlCalc = .Calculation
        .Calculation = xlCalculationManual
        .EnableEvents = False
        .ScreenUpdating = False
    End With
    
End Sub

Par contre, pour ne pas polluer les autres classeurs, à la fermeture de ce classeur 2, j'ai mis en place:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox ("plop")
    With Application
        xlCalc = .Calculation
        .Calculation = xlCalculationAutomatic
        .EnableEvents = True
        .ScreenUpdating = False
    End With
End Sub

Cette seconde partie ne fonctionne pas: pas de message "msgbox" et les calculs restent en manuel.

Est ce que j'ai fait une erreur qq-part?

Merci de votre aide,
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Yuplop, bonjour le forum,

À partir du moment où tu écris
Application.EnableEvents = False, tu désactives toutes les macro événementielles. Par conséquent, la macro événementielle BeforeClose n'est pas exécutée.
Une solution, il te faudrait créer dans un module standard une macro du Style :

Sub Macro1()
Application.EnableEvents = True
End Sub
que tu lancerais en dernier et là, la procédure BeforeClose sera exécutée.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…