Bonjour,
Tout est dans le titre mais je m'explique.
Lors de lancement de ma macro, j'ai plusieurs fichiers excel qui s'ouvrent. Je veux fermer tous ces fichiers excel ouverts, sans enregistrer sauf le fichier contenant ma macro.
Merci
Discussion :








Bonjour,
Tout est dans le titre mais je m'explique.
Lors de lancement de ma macro, j'ai plusieurs fichiers excel qui s'ouvrent. Je veux fermer tous ces fichiers excel ouverts, sans enregistrer sauf le fichier contenant ma macro.
Merci
Bonjour,
Comment sont-ils ouverts. Est-ce que tu ne sais pas lesquels ont été ouverts par la macro ? Y a-t-il d'autres classeurs ouverts ?








ces fichiers sont ouverts par la macro.
Avec cette macro :
je n'arrive pas à les fermer. ca m indique juste si je veux enregistrer .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub ferme() Dim Classeur As Workbook For Each Classeur In Workbooks If Classeur.Name <> ThisWorkbook.Name Then Classeur.Close SaveChanges:=False End If Next Classeur End Sub
Merci
Au pire essaye de séparer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Classeur.SaveChanges:=False Classeur.Close
Bonjour,
Le problème est peut-être qu'il y a deux instances différentes d'Excel, donc il n'est pris en compte que les classeurs créés dans cette instance.
Comment sont créés les classeurs Excel à fermer?
Moi j'avais essayé de fermer des .xlsx à partir d'un .xlsm et ça marchait...
Quand je dis une instance, c'est que les fichiers n'ont pas été créés dans cette instance.Envoyé par PastisVi
Typiquement, essaies ceci :
Tu ouvres Excel et copies colles le code suivantdans l'éditeur VBA. (Classeur 1)
Tu fais fichier -> Nouveau puis Nouveau classeur (Classeur 2)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Sub ferme() Dim Classeur As Workbook For Each Classeur In Workbooks If Classeur.Name <> ThisWorkbook.Name Then Classeur.Close SaveChanges:=False End If Next Classeur End Sub
puis tu ouvres un autre excel (depuis Windows)
Classeur 3
Tu lances la macro et tu verras que seul le Classeur2 se ferme pas le 3
Partager