Bonjour,
Je tourne en rond depuis... des jours.
Workbook_BeforeClose exécute les sous-routines parfaitement si je ferme le classeur en cliquant sur "la croix"
Si Workbook_BeforeClose est lancé depuis la procédure qui suit, la copie du classeur et l'affichage de la Feuil01 ne s'exécute pas !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim Sh As Worksheet Stop Call Stop_Tempo Call Test_Répertoire ThisWorkbook.SaveCopyAs Répertoire & "\" & FichierIndexé ThisWorkbook.Unprotect "" Feuil01.Visible = xlSheetVisible For Each Sh In ThisWorkbook.Sheets If Sh.CodeName <> "Feuil01" Then Sh.Visible = xlSheetVeryHidden Next ThisWorkbook.Protect "", True, True If Application.Workbooks.Count = 1 Then Application.Quit End Sub
... ce qui me contraint à (re)mettre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub Test_Affichage_UF() If UserForm1.Visible = False Then UserForm1.Show Else Unload UserForm1 ' Call Test_Répertoire ' ThisWorkbook.SaveCopyAs Répertoire & "\" & FichierIndexé 'ne fonctionne pas si placé dans BeforeClose ! ActiveWorkbook.Close SaveChanges:=True End If End Sub
dans ce module !ThisWorkbook.SaveCopyAs Répertoire & "\" & FichierIndexé 'ne fonctionne pas si placé dans BeforeClose !
Je précise qu'il n'y a pas de :
dans les procédures intermédiaires.Application.EnableEvents = False
Qu'est-ce qui peut "inhiber" l'exécution d'une procédure dans Workbook_BeforeClose ?
En vous remerciant d'avance pour votre aide,
Cdt
Partager