VBA EXCEL fermer ouvir plusieurs fichiers
Fermé
stephdublin
Messages postés
2
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
13 novembre 2007
-
5 nov. 2007 à 21:29
stephdublin Messages postés 2 Date d'inscription mercredi 17 octobre 2007 Statut Membre Dernière intervention 13 novembre 2007 - 13 nov. 2007 à 16:12
stephdublin Messages postés 2 Date d'inscription mercredi 17 octobre 2007 Statut Membre Dernière intervention 13 novembre 2007 - 13 nov. 2007 à 16:12
A voir également:
- Activewindow.activatenext
- Liste déroulante excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Renommer plusieurs fichiers - Guide
- Si et excel - Guide
- Fusionner plusieurs fichiers excel - Guide
2 réponses
stephdublin
Messages postés
2
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
13 novembre 2007
3
13 nov. 2007 à 16:12
13 nov. 2007 à 16:12
bonjour gbinforme. bizarre, je pensais t'avoir repondu il y a plus d'une semaine... voila, merci pour ta reponse mais ce n'etait pas exactement ce que je voulais. Mais j'ai trouvé la solution grace aux "array variables":-). Cela donne cela:
au debut de l'execution de la macro:
Dim files() As String
Dim iCount As Integer
Dim Max As Integer
Max = Workbooks.Count
ReDim files(1 To Max)
For iCount = 1 To Max
If ActiveWorkbook.Name <> "MACRO" Then
files(iCount) = ActiveWorkbook.FullName ' pour stocker les fichiers
ActiveWorkbook.Save
ActiveWorkbook.Close
Else
ActiveWindow.ActivateNext
End If
Next iCount
n = 1
a la fin:
For iCount = LBound(files) + 1 To UBound(files)
Workbooks.OpenText Filename:=files(iCount) ' pour les reouvrir
Next iCount
Erase files()
steph
au debut de l'execution de la macro:
Dim files() As String
Dim iCount As Integer
Dim Max As Integer
Max = Workbooks.Count
ReDim files(1 To Max)
For iCount = 1 To Max
If ActiveWorkbook.Name <> "MACRO" Then
files(iCount) = ActiveWorkbook.FullName ' pour stocker les fichiers
ActiveWorkbook.Save
ActiveWorkbook.Close
Else
ActiveWindow.ActivateNext
End If
Next iCount
n = 1
a la fin:
For iCount = LBound(files) + 1 To UBound(files)
Workbooks.OpenText Filename:=files(iCount) ' pour les reouvrir
Next iCount
Erase files()
steph
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 700
6 nov. 2007 à 10:30
6 nov. 2007 à 10:30
bonjour
work & n=activeworkbook.fullname - et c'est cette ligne qui ne passe pas.
En procédant ainsi, cela devrait fermer tous tes fichiers sauf celui qui lance la macro
work & n=activeworkbook.fullname - et c'est cette ligne qui ne passe pas.
En procédant ainsi, cela devrait fermer tous tes fichiers sauf celui qui lance la macro
Public Sub ferme() Dim n As Integer n = Workbooks.Count Do Until Workbooks.Count = 1 If Not Workbooks(n).Name = ActiveWorkbook.Name Then Workbooks(n).Close Loop End Sub