Le + facile c'est ce bout de code
Public fermeture As Boolean
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If fermeture = False Then Cancel = True
End Sub
que tu mets dans "Thisworkbook"
En fait, cela empêche la fermeture du classeur peu importe le moyen (croix ou le "fermer" du fichier) tant que tu n'as pas passer "fermeture" à "TRUE"
Donc dans ton cas à la fin de ta macro de la "lune" juste avant de fermer avec ton close tu mets: "fermeture=true" et ça sera bon.
Par contre l'inconvénient c'est que cela sera vraiment une obligation que la personne clique la "lune" (à voir si tu n'as pas besoin de mettre sur soleil aussi )
++