Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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 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:

Richard6263

XLDnaute Nouveau
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 :

 

Dranreb

XLDnaute Barbatruc
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:

Richard6263

XLDnaute Nouveau
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 !
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…