VBA EXCEL fermer ouvir plusieurs fichiers
stephdublin
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
stephdublin Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
stephdublin Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
pour, je dirais, plus de confort pour mes collegues et moi, j'aimerais que ma macro ferme les fichiers ouverts, fasse ce que je lui ai ordonné de faire, et ensuite réouvre les fichiers précedemment fermés. Existe-t'il un moyen pour y parvenir?
J'ai trouvé comment faire pour fermer et réouvrir un meme fichier:
work étant une variable, cela donne,
work = ActiveWorkbook.FullName
ActiveWorkbook.Close
et ensuite
Workbooks.Open Filename:=work
Mais je n'ai pas trouvé le moyen de le faire sur plusieurs fichiers:-(. voila ce que j'ai essayé:
dim work as string
dim n as integer
n=1
do until workbooks.count=1
work & n=activeworkbook.fullname - et c'est cette ligne qui ne passe pas.
etc...
merci pour votre aide:-)<code>Configuration: Windows XP
excel 2003
pour, je dirais, plus de confort pour mes collegues et moi, j'aimerais que ma macro ferme les fichiers ouverts, fasse ce que je lui ai ordonné de faire, et ensuite réouvre les fichiers précedemment fermés. Existe-t'il un moyen pour y parvenir?
J'ai trouvé comment faire pour fermer et réouvrir un meme fichier:
work étant une variable, cela donne,
work = ActiveWorkbook.FullName
ActiveWorkbook.Close
et ensuite
Workbooks.Open Filename:=work
Mais je n'ai pas trouvé le moyen de le faire sur plusieurs fichiers:-(. voila ce que j'ai essayé:
dim work as string
dim n as integer
n=1
do until workbooks.count=1
work & n=activeworkbook.fullname - et c'est cette ligne qui ne passe pas.
etc...
merci pour votre aide:-)<code>Configuration: Windows XP
excel 2003
A voir également:
- Activewindow.activatenext
- Liste déroulante excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Renommer plusieurs fichiers en même temps - Guide
- Word et excel gratuit - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
2 réponses
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
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