Bonjour KTM, bonjour le forum,
Le problème est le classeur des macros personnelles qui peut être ouvert mais masqué. Essaie comme ça (à placer dans le composant VBA ThisWorkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim TEST As Boolean 'déclare la variable TEST
For I = 1 To Workbooks.Count 'boucle sur tous les classeurs ouverts
If Workbooks(I).Name <> ThisWorkbook.Name Then 'condition : si le nom du classeur de la boucle n'est pas le nom de ce classeur
Select Case Right(Workbooks(I).Name, 3) 'agit en fonction des 3 dernières lettres du nom du classeur (de l'extension)
Case "xls", "lsx", "lsm", "ltx", "ltm" 'cas
'test est vrai (il existe un autre classeur autre que le classeur des macros personnelles), sort de la boucle
TEST = True: Exit For
End Select 'fin de l'action en fonction des 3 dernières lettres du nom du classeur (de l'extension)
End If 'fin de la condition
Next I 'prochain classeur de la boucle
If TEST = False Then Application.Quit 'si test est [faux] quitte l'application Excel
End Sub