XL 2013 comment empêcher une macro de fermer tous mes classeurs ouverts ?

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Richard6263

XLDnaute Nouveau
Bonsoir la communauté,

J'ai un petit soucis que je n'arrive pas à résoudre.
Dans un classeur A (appelons-le A) j'ai un bouton image
exit.png
comme celui-ci qui me sert à sauvegarder dans un dossier et à fermer mon classeur, cela fonctionne parfaitement, seulement si j'ouvre un autre classeur B comportant ce même bouton mais à l’exception près que le bouton quitte sans enregistrer.

le classeur A ferme mes deux classeurs or je voudrai qu'il ne ferme que lui même est-ce que Application.Quit peut-être la cause ?

Quand je veux fermer le classeur B il ne ferme que lui même et pas A et c'est parfait je comprends donc pas le problème merci pour votre aide

Voici le code du classeur B :

Code:
Sub quitter()
Application.DisplayAlerts = False
ThisWorkbook.Close
Application.Quit


End Sub
voici le code A :

Code:
Sub fermer()


'Sauvegarde les données et ferme Excel
ThisWorkbook.Save
Application.Quit


End Sub
 
Dernière modification par un modérateur:
Re : comment empêcher une macro de fermer tous mes classeurs ouverts ?

Si je retire " Application.Quit " ça fonctionne, il ne ferme que lui même, je viens d'essayer, mais il me laisse une espèce de fauille fantôme ouverte vide sur fond gris ? comme sur cette capture d'image :

Capture Excel après fermeture.jpg
 
Re : comment empêcher une macro de fermer tous mes classeurs ouverts ?

Bonsoir.
C'est sûr, Application.Quit est à proscrire.
Ou alors consultez la collection Workbooks avant, pour voir s'il n'y a pas d'autres classeurs ouverts que ceux qui le sont quand seulement celui ci est visible et a été ouvert manuellement.
 
Dernière édition:
Re : comment empêcher une macro de fermer tous mes classeurs ouverts ?

J'ai trouvé la solution :

supprimer Application.Quit et remplacer par :
Thisworkbook.Close True (pour fermer et enregistrer)
Thisworkbook.Close False ( pour fermer SANS enregistrer)
et tout est nickel !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour