Mettre des instructions en cas de fermeture d'un document excel par la croix ou
cs_glemoin
Messages postés11Date d'inscriptionmardi 8 février 2011StatutMembreDernière intervention21 février 2011
-
8 févr. 2011 à 22:36
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 2013
-
9 févr. 2011 à 16:43
Bonjour,
Je développe une petite application et je souhaiterais pouvoir agir sur la fermeture de mon document, j'explique.
Quand une personne vient à fermer mon document sois par la petite croix rouge d'EXCEL soit par le menu principal d'Excel, je souhaiterais pouvoir lancer des codes pour enregistrement suppression de menu personnalisé, etc.
J'ai créer un menu perso ou la personne peut fermer et si elle le fait par la pas de probleme mon code permet de supprimer mes menus personaliser mais si elle ferme le document autrement alors la sa se complique pour moi.
Si ça parle a quelqu'un ???
Merci d'avance
A voir également:
Mettre des instructions en cas de fermeture d'un document excel par la croix ou
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 8 févr. 2011 à 23:59
Salut
Document n'est pas le terme approprié, plutôt réservé à Word.
Sous Excel, ceux sont des classeurs ou des feuilles : du coup, on ne sait pas de quoi tu parles.
Si c'est du classeur, regarde dans la Sub Workbook_BeforeClose
Si c'est une feuille, il te faudra périodiquement compter le nombre de feuilles ouvertes et surveiller lorsque l'une d'elles disparait.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_glemoin
Messages postés11Date d'inscriptionmardi 8 février 2011StatutMembreDernière intervention21 février 20111 9 févr. 2011 à 12:59
Oui alors excuse moi pour cette petite erreur non négligeable.
Je parlais bien de la fermeture complète du logiciel excel par la croix en haut à droite ou par le menu d'Excel qui en faite ne supprime pas les menus personnalisé de mon classeur Excel.
Quand je le ferme par mon menu personnalisé pas de problème le menu disparait mais pour le reste...
J'ai essayé de mettre mes procèdures de suppression des menus personnalisé dans la partie
Sub Workbook_BeforeClose mais cela n'a rien donné dès que je ferme excel par la croix ou par le menus d'excel si je relance Excel même sans classeur ouvert le menu reste apparant.
Je sais pas si tu comprends.
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 9 févr. 2011 à 16:43
Salut,
il ne faut pas utiliser "Workbook_BeforeClose" au niveau de ton fichier mais plutôt au niveau de l'application.
En clair il existe un événement de l'application excel "WorkbookBeforeClose" qui sera déclencher même lors de la fermeture d'excel via la croix ou le menu.
Pour cela il faut passer par une classe
j'utilise cette methode pour interdire la fermeture d'excel dans un fichier que tu trouveras ici [size=100](regarde le module de classe nommé ClasseAppli pui la sub XL_WorkbookBeforeClose)
/size Pour ton besoin il suffit de remplacer les 3 lignes de code par ton code de suppression des menus.
Attention: pour qu'une classe fonctionne il faut l'avoir chargée au préalable ! Donc après mise en place ou après toute modif de la classe il faut la charger.
Dans mon exemple la classe est chargée à l'ouvertutre du fichier via les lignes :
'initialisation de la classe
Set XlAppli.XL = Excel.Application
Call XlAppli.InitClass
de l'evenement Workbook_Open du fichier lui même Donc ici pour charger la classe il suffit d'enregistrer le fichier, de le fermer, et de l'ouvrir à nouveau.