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

Fermer EXCEL en quittant un classeur

  • Initiateur de la discussion thierry13
  • Date de début
T

thierry13

Guest
Quel est le code qui permet, par macro, de fermer le classeur, afin de laisser le PC "propre" après avoir fermé tous les classeurs.

J'ai essayé Application.Quit, mais ça ne fonctione pas !
 
J

Jean-Marie

Guest
Bonjour

Il faut peut être utliser l'intruction Workbooks.Close pour fermer tous les classeurs avant l'arrêt de l'application.

Bonne fin de journée

@+Jean-Marie
 
M

Myta

Guest
Salut le forum

thierry13

essaye ceci si cela peut te convenir

'Quitte Excel en Enregistrant les classeurs ouverts
Sub Macro1()
Dim fichier
Application.DisplayAlerts = False
For Each fichier In Application.Workbooks
fichier.Save
Next fichier
Application.DisplayAlerts = False
Application.Quit
End Sub

Mytå

P.S. Tes pas le fils de notre @Thierry ))
 
T

thierry13

Guest
Et bien, je suis fort aise de constater que la macro que tu me demandes de taper est STRICTEMENT la même que celle que j'ai tapé... Puisque l'Application.Quit est censé fermé EXCEL, mais il n'en n'est RIEN ; ça ne fonctionne pas
 
G

Goodparts

Guest
Hello Thierry13, le fil et le forum,

J'ai aussi Excel 2002(xp) et la macro de Myta fonctionne très bien. Je pense que tu dois avoir un autre prob.

Bonne soirée à tous

Goodparts
 
@

@+Thierry

Guest
Bonsoir GoodParts, Jean-Marie, Mytå et donc Thierry13

Non non je te rassure Mytå, Thierry, mon homonyme, n'est pas de ma famille tu n'auras donc pas un autre @+Thierry à supporter !!! (lol)

Pour ce qui est de cette histoire, en fait ta macro de Mytå, bien que fonctionnant, n'est pas vraiment dans les règles de l'art avec le Displayalerts à False.

En fait ce qui arrive à Thierry est tout à fait logique car si l'on ferme le classeur contenant la macro..... Celle ci ne s'éxécute pas jusqu'au bout, ce qui est normal.... Par conséquent il faut soit procéder brutalement sans fermer les classeurs et Fermer Excel.... D'où les DisplayAlerts... Soit procéder comme suit :

Sub CloseSaveAll()
Dim WB As Workbook
For Each WB In Workbooks
If Not WB Is ThisWorkbook Then WB.Close True
Next WB
Application.Quit
ThisWorkbook.Close True
End Sub


Ce qui est un peu surprenant c'est que le ThisWorkBook est quand même sauvé alors que l'application est fermée avant cette instruction !!! (si on met dans l'ordre inverse Excel reste ouvert par contre)

Voilà pour le complément d'info et donc si tu appliques ce code et cette logique, cher homonyme, tu ne devrais pas avoir de problème...

Ceci dit en passant, je fais des dizaines d'applis pro et jamais je ne ferme Excel authoritairement, et en plus je considère que l'utilisateur peut être embété si on lui sauve des classeurs sans qu'il ne le demande...

Bonne Nuit à tous et toutes
@+Thierry
 

Discussions similaires

Réponses
19
Affichages
595
Réponses
2
Affichages
137
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…