Bonsoir Nad,
Je me posais la question pourquoi mettre des événements dans BeforeClose
Les 2 lignes pourraient être mises directement dans Open, il me semble.
Cordialement.
Private Sub Workbook_Open()
Feuil1.Activate
Feuil1.Visible = xlSheetVisible
ActiveSheet.Shapes("Image 1").Visible = True
Application.OnTime Now + TimeValue("00:00:05"), "EffacerMessage"
End Sub