Bonjour,

il y a quelque chose que je n'arrive pas à saisir malgré mes multiples essais et recherche dans ma macro de fermeture du fichier "fichAv" :
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
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 
Dim fichInt As String, integ As Worksheet, EsInt As String
 
EsInt = fich26 & ".xlsm"
fichInt = ThisWorkbook.Path & "\" & EsInt
 
Application.ScreenUpdating = False
MsgBox "ok"
Workbooks.Open fichInt
Set integ = Workbooks(EsInt).Sheets("Ctrl")
integ.Range("B2") = 0
Workbooks(EsInt).Close True
 
End Sub
Si je ferme le fichier "fichAv" en cliquant sur la croix en haut à droite de l'écran, tout est ok, Msgbox affichée et top en B2 = 0 dans le fichier fich26

Si je ferme par macro :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Workbooks(fichAv).Close False
j'ai bien "ok" mais fich26 n'est pas ouvert et j'ai erreur sur la ligne
Set integ = Workbooks(EsInt).Sheets("Ctrl")
(normal le fichier n'est pas ouvert)

je cherche aussi du côté de
Cancel As Boolean)
mais sans trouver...
Avez-vous une explication et une solution ?

Je sèche...