En vba comment fermer tous les fichiers excels

tarvel

XLDnaute Occasionnel
Bonjour,
J'aimerais à l'aide d'une macro fermer tous les fichiers excels
ouverts...même sur différentes sessions d'excel!!!
J'ai testé ceci :
Sub Macro1()
Application.DisplayAlerts = False
Application.Quit
End Sub
Comme j'ai plusieurs sessions...les autres fenêtres restent ouvertes!
Y'a t-il une possibilité en vba de fermer toutes les fenêtres ouvertes
excel...ou plus généralement de "killer" tous les processus excel.exe du gestionnaire des tâches?
Merci pour votre aide
 

Jacques87

XLDnaute Accro
Re : En vba comment fermer tous les fichiers excels

Bonsoir,

J'ai un doute sur la réalisation d'une telle macro, bien que ....
En effet, cette macro est à insérer dans un fichier, donc si tu fermes ce fichier elle ne pourra plus être activée, donc tu ne pourras pas fermer les autres fichier.
Maintenant tu me diras qu'il suffit de fermer les autres fichiers et celui qui contient la macro sera à fermer en dernier.

Mais alors la, à moins de connaître le nom de chaque fichier ouvert, sinon la procédure sera un peu plus hard.

Fouille dans les Fils du Forum, il me semble avoir vu trâiner une question similaire ces jours derniers

Bon courage

P.S. : suis-je bête, en bas de cette page tu as une liste de Fil dont le thème est proche du tien, regarde les
 
Dernière édition:

tarvel

XLDnaute Occasionnel
Re : En vba comment fermer tous les fichiers excels

J'ai trouvé ceci sur un autre forum (ThierryAIM) pour lister les différents processus qui tournent dans le gestionnaire des tâches :

Private Sub Command1_Click()
Dim svc As Object
Dim sQuery As String
Dim oproc
Set svc = GetObject("winmgmts:root\cimv2")
sQuery = "select * from win32_process"
i = 1
For Each oproc In svc.execquery(sQuery)
Debug.Print oproc.Name
Range("A" & i).Value = oproc.Name
i = i + 1
Next
Set svc = Nothing
End Sub

Mais comment arriver à "Killer" les différents programmes que l'on veut fermer???
 
Dernière édition:

porcinet82

XLDnaute Barbatruc
Re : En vba comment fermer tous les fichiers excels

Salut Tarvel, re Jacques,

Pour fermer complement excel, je te propose le code suivant qui sauvegarde tout d'abord tes classeurs :
Code:
Private Sub Command1_Click()
Dim wk As Workbook
For Each wk In Workbooks
    wk.Save
Next wk
Application.Quit
End Sub

@+
 

tarvel

XLDnaute Occasionnel
Re : En vba comment fermer tous les fichiers excels

Merci porcinet82 pour ce code.
Ce code fonctionne mais si j'ai une session excel avec une erreur ou le debogueur est actif...le fichier ne se ferme pas!!!
En fait il faudrait arriver à fermer toutes les sessions Excel qui sont dans le gestionnaire des tâches...sauf celui qui lance la macro!!!
 

porcinet82

XLDnaute Barbatruc
Re : En vba comment fermer tous les fichiers excels

re,

Désolé, mais là je seche un peu. Je suppose qu'il faudrai arriver soit a faire ce que tu dis, soit faire passer le classeur qui pose problème en mode arret, mais je n'ai pas trouvé la ligne de code permettant de passer en mode arret.

Peut etre qu'un des ténors du forum va te trouver une solution...

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 812
dernier inscrit
abdouami