Dim noevents As Boolean
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim nom As String, dateprep As Variant, vreponse As String
ActiveWindow.DisplayGridlines = True
'Permet d'éviter une boucle récursive et donc de fermer le fichier (par défaut à False, passe à true que si le fichier s'appelle Monfichier.xlsm)
If noevents Then Exit Sub
If ActiveWorkbook.Name <> "Monfichier.xlsm" Then
ThisWorkbook.Close False
Exit Sub
End If
noevents=true
'suite de mon code si le fichier s'appelle Monfichier.xlsm