C'est effectivement assez bizarre. Ca a peut-être à voir avec tes autres codes. Il faudrait avoir ton fichier réel à disposition afin de pouvoir tester.
As-tu tester sur mon fichier seul, sans avoir d'autres fichier Excel ouverts à ce moment-là ?
Ca marche avec votre fichier d'essai.
Voila ce que j'ai dans ThisWorkbook:
Private Sub Workbook_Open()
ReCalc
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
ThisWorkbook.Close
End Sub