Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fermer tous les fichiers et Excel (win 7 & 2013) VBA

2 réponses
Avatar
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

Biz

SylVBA

2 réponses

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