Fermer tous les fichiers et Excel (win 7 & 2013) VBA
2 réponses
sylvie.laurent82
Bonjour =E0 vous tous,
De retour de vacances, je d=E9couvre la montagne de travail ... comme vous =
tous=20
Un grand merci pour votre coup de main avant les vacances, ce forum est tel=
lement serviable et on y apprend beaucoup en lisant les posts de nos g=E9n=
=E9reux contributeurs, merci encore =E0 eux pour leur temps.
Je bloque sur quelque chose qui semble pourtant bien simple:
Excel 2013 ouvre une instance pour chaque fichier Ok on le sait
Je souhaite dans un des fichiers ouverts =E9crire un code (dans un module s=
tandard) qui va fermer tous les classeurs pour cela c'est ok:
For Each Wk In Workbooks
Wk.Close savechanges:=3DFalse
Next Wk
BUT ..... l'instance d'Excel reste ouverte
J'ai bien essay=E9 Application.quit mais rien ne fait ... il reste toujours=
l'instance d'Excel ouverte sans fichier actif=20
Could you help me please ?=20
En cliquant droit sur un des fichier on peut r=E9aliser cette op=E9ration "=
fermer tous les classeurs" mais VBA ne semble pas aller jusqu'au bout
Dans l'attente de vos conseils je vous souhaite =E0 tous une excellente soi=
r=E9e
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour,
Essaie comme ceci :
Tous les fichiers se ferment sans rien enregistrer. Si tu veux enregistrer le fichier dans lequel tu places la macro, remplace "n" par "e" dans cette ligne de code : .SendKeys "%n"
'----------------------------------------------------- Sub test() Dim Wk As Workbook
With Application For Each Wk In .Workbooks If Wk.Name <> ThisWorkbook.Name And .Workbooks.Count > 1 Then Wk.Close False Else .SendKeys "%n" .Quit End If Next End With End Sub '-----------------------------------------------------
a écrit dans le message de groupe de discussion :
Bonjour à vous tous,
De retour de vacances, je découvre la montagne de travail ... comme vous tous
Un grand merci pour votre coup de main avant les vacances, ce forum est tellement serviable et on y apprend beaucoup en lisant les posts de nos généreux contributeurs, merci encore à eux pour leur temps.
Je bloque sur quelque chose qui semble pourtant bien simple:
Excel 2013 ouvre une instance pour chaque fichier Ok on le sait Je souhaite dans un des fichiers ouverts écrire un code (dans un module standard) qui va fermer tous les classeurs pour cela c'est ok:
For Each Wk In Workbooks Wk.Close savechanges:úlse Next Wk
BUT ..... l'instance d'Excel reste ouverte J'ai bien essayé Application.quit mais rien ne fait ... il reste toujours l'instance d'Excel ouverte sans fichier actif
Could you help me please ?
En cliquant droit sur un des fichier on peut réaliser cette opération "fermer tous les classeurs" mais VBA ne semble pas aller jusqu'au bout
Dans l'attente de vos conseils je vous souhaite à tous une excellente soirée
Biz
SylVBA
Bonjour,
Essaie comme ceci :
Tous les fichiers se ferment sans rien enregistrer.
Si tu veux enregistrer le fichier dans lequel tu places la macro,
remplace "n" par "e" dans cette ligne de code : .SendKeys "%n"
'-----------------------------------------------------
Sub test()
Dim Wk As Workbook
With Application
For Each Wk In .Workbooks
If Wk.Name <> ThisWorkbook.Name And .Workbooks.Count > 1 Then
Wk.Close False
Else
.SendKeys "%n"
.Quit
End If
Next
End With
End Sub
'-----------------------------------------------------
a écrit dans le message de groupe de discussion :
acecfb64-890e-4b2d-aa76-0bc967ecd0e2@googlegroups.com...
Bonjour à vous tous,
De retour de vacances, je découvre la montagne de travail ... comme vous
tous
Un grand merci pour votre coup de main avant les vacances, ce forum est
tellement serviable et on y apprend beaucoup en lisant les posts de nos
généreux contributeurs, merci encore à eux pour leur temps.
Je bloque sur quelque chose qui semble pourtant bien simple:
Excel 2013 ouvre une instance pour chaque fichier Ok on le sait
Je souhaite dans un des fichiers ouverts écrire un code (dans un module
standard) qui va fermer tous les classeurs pour cela c'est ok:
For Each Wk In Workbooks
Wk.Close savechanges:úlse
Next Wk
BUT ..... l'instance d'Excel reste ouverte
J'ai bien essayé Application.quit mais rien ne fait ... il reste toujours
l'instance d'Excel ouverte sans fichier actif
Could you help me please ?
En cliquant droit sur un des fichier on peut réaliser cette opération
"fermer tous les classeurs" mais VBA ne semble pas aller jusqu'au bout
Dans l'attente de vos conseils je vous souhaite à tous une excellente soirée
Tous les fichiers se ferment sans rien enregistrer. Si tu veux enregistrer le fichier dans lequel tu places la macro, remplace "n" par "e" dans cette ligne de code : .SendKeys "%n"
'----------------------------------------------------- Sub test() Dim Wk As Workbook
With Application For Each Wk In .Workbooks If Wk.Name <> ThisWorkbook.Name And .Workbooks.Count > 1 Then Wk.Close False Else .SendKeys "%n" .Quit End If Next End With End Sub '-----------------------------------------------------
a écrit dans le message de groupe de discussion :
Bonjour à vous tous,
De retour de vacances, je découvre la montagne de travail ... comme vous tous
Un grand merci pour votre coup de main avant les vacances, ce forum est tellement serviable et on y apprend beaucoup en lisant les posts de nos généreux contributeurs, merci encore à eux pour leur temps.
Je bloque sur quelque chose qui semble pourtant bien simple:
Excel 2013 ouvre une instance pour chaque fichier Ok on le sait Je souhaite dans un des fichiers ouverts écrire un code (dans un module standard) qui va fermer tous les classeurs pour cela c'est ok:
For Each Wk In Workbooks Wk.Close savechanges:úlse Next Wk
BUT ..... l'instance d'Excel reste ouverte J'ai bien essayé Application.quit mais rien ne fait ... il reste toujours l'instance d'Excel ouverte sans fichier actif
Could you help me please ?
En cliquant droit sur un des fichier on peut réaliser cette opération "fermer tous les classeurs" mais VBA ne semble pas aller jusqu'au bout
Dans l'attente de vos conseils je vous souhaite à tous une excellente soirée
Biz
SylVBA
sylvie.laurent82
Bonsoir Denis
Cela fonctionne parfaitement, je pensais bien que Sendkeys serait de la par tie
Cela répond parfaitement à ma problématique
Un grand merci pour cela
La biz
SylVBA
Bonsoir Denis
Cela fonctionne parfaitement, je pensais bien que Sendkeys serait de la par tie