Problème!! Quand supprimer le menu!

M

Martin

Guest
Bonjour,

dans mon classeur, je créé par programmation un menu que je place dans la barre de menu principale. Bien sur, à la fermeture de mon classeur, je veux supprimer ce menu pour ne pas qu'Il apparraisent quand je vais ouvrir Excel de nouveau.

Je créer le menu dans Auto_open et le le supprime dans Auto_Close. Mon problème, c'est que Auto_close s'exécute même si Excel ne se ferme pas!
Je modifie mon classeur et je n'enregistre pas. Je ferme mon classeur, je vais donc avoir un message me demandant si je désire enregistrer.
Voici la séquence
Je clique sur le X de mon classeur
beforeClose s'execute
Auto_Close s'execute
Le message demandant si je veux enregistrer apparait, je répond annuler.

Donc, mon Excel ne se ferme pas, mais le auto_close s'est effectué et mon menu est donc disparu!!!

Le seul événement qui s'execute à la suite du message d'enregistrement est Deactivate mais rendu la, la propriété CommandBar est à Nothing donc il n'est plus possible de supprimer mon menu.

Je suis dépassé
Quelqu'un peut m'aider?

merci
Martin
 
@

@+Thierry

Guest
Bonsoir, Chris, Schmail, Martin

Auto_Close et Auto_Open sont des macros XL 5 et sont à éviter (Conseils de Microsoft !) au bénéfices des Macros évènementielles, comme Schmail te conseille...

De plus à voir ce que tu as écrit (BeforeClose) on dirait bien que tu mixtes les deux possibilités de Macros Excel 5 ET de Macros évènementielles... Alors là c'est à proscrire ! Car c'est vraiment pas net du tout !

Et comme te le dit Chris dans tous les cas ces macro concerne le fermeture du classeur concerné, par celle d'Excel.

Une solution, une fois que tu auras maîtrisé le BeforeClose, serait de renvoyer une procédure par le fichier "Personal.xls" (perso.xls en français je crois) qui est un fichier caché qui démarre automatiquement avec Excel et qui par conséquent se ferme avec aussi, mais je n'ai pas vraiment bien compris ton problème en fait !! lol

Bonne Soirée
@+Thierry
 
M

Martin

Guest
Je me suis trompé, oui c'est possible

Voici mon problème. Disons que je supprime mon menu dans l'événement Before_close. Ensuite, excel me demande si je veux enregistrer. Je répond Annuler. Donc, mon excel ne se ferme pas, mais mon menu est supprimer puisque l'événement before_close s'exécute avant la question "voulez-vous enregistrer"

Je voudrais supprimer mon menu uniquement quand Excel se ferme réellement.

merci de votre aide
 
S

schmail

Guest
Bonsoir Martin et le forum

En pièce jointe, un fichier de Michel sur des exemples de fermeture d'XL
Avec sauvegarde auto, sans sauvegarde, etc.
Exemple : pour fermer XL sans enregistrer les modifs :
ThisWorkbook.Close savechanges:=False

En espèrant que cela pourra t'aider

@+ et bonne soirée
 

Discussions similaires

Statistiques des forums

Discussions
312 429
Messages
2 088 353
Membres
103 824
dernier inscrit
frederic.marien@proximus.