Ouvrir tous les fichiers contenus dans le répertoire courant

Bonjour à tous,

J'ai une macro qui ouvre tous les fichiers contenus dans un répertoire précis:

Sub ouvrir_tout()

'l'instruction ChDir permet de se positionner
'sur un répertoire précis
ChDir "C:\Bulletins\" & Range("D13").Value & "\"
monfichier = Dir("*.*")
While monfichier <> ""
Workbooks.Open monfichier
monfichier = Dir()
Wend
End Sub

Je souhaite à présent réaliser une nouvelle macro qui aurait un peu la même fonction: l'idée serait d'ouvrir tous les fichiers contenus dans le répertoire du premier fichier ouvert.

En d'autres termes:

J'ouvre un fichier. Ce fichier me permettrait de lancer une macro qui ouvre tous les autres fichiers du même endroit.

Est-ce possible?

Bonjour,

essaie en utilisant cette instruction

Chemin = ActiveWorkbook.Path

Activeworkbook étant le fichier ouvert.

A bientôt

Dan

Voici ce qu'on m'a proposé sur un autre forum:

Sub Ouvre_Fichier2()

Dim Wk As Object
Dim rep As Object
Dim Chemin As String

Chemin = ThisWorkbook.Path
Set rep = CreateObject("Scripting.FileSystemObject").GetFolder(Chemin)

For Each Wk In rep.Files
    If Wk.Name <> ActiveWorkbook.Name Then Workbooks.Open Filename:=Wk
Next

End Sub

Et cela semble fonctionner...

Nad-Dan a écrit :

Bonjour,

essaie en utilisant cette instruction

Chemin = ActiveWorkbook.Path

Activeworkbook étant le fichier ouvert.

A bientôt

Dan

J'ai finalement opté pour ta proposition (que j'ai d'ailleurs intégré dans le code que tu connais). Et cela marche très bien.

Je te remercie une nouvelle fois !

J'ai encore dû faire une bêtise ! Cela fonctionne quand les fichiers sont sur mon disque dur mais pas lorsqu'ils sont sur ma clé USB...

Sub imprime_ecole()

'l'instruction ChDir permet de se positionner
'sur un répertoire précis
Application.EnableEvents = False
Chemin = ActiveWorkbook.Path
monfichier = Dir("*.*")
While monfichier <> ""
Workbooks.Open monfichier
monfichier = Dir()

Call imprime_tout_suite
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
Wend
Application.EnableEvents = True
End Sub

Re,

Non tu n'as pas fait une bêtise mais si tes fichiers sont sur une clé USB il faut aussi le que le premier fichier à partir duquel tu veux ouvrir les autres se trouve aussi sur ta clé USB.

Dan

C'est ce que je fais mais il m'ouvre un fichier complètement inexistant ! Du style 1564h.xls

Étrange.

Autant pour moi... cela fonctionne très bien sous Office 2003 et pas du tout sous Office 2007 !

re,

Attention avec office 2007. Les macros risquent de ne plus fonctionner. Il faut enregistrer ton fichier sous excel 2003.

Là excel 2007 permet de faire fonctionner les programmes faits avec VBA.

Chose très importante, après excel 2007 plus aucun programmes VBA ne fonctionneront puisque c'est VB.net qu'il faudra utiliser.

Génial n'est ce pas, on peut tout recommencer !!

Conclusions : laisse excel 2007 de coté et reste sous excel 2003 !!

Dan

Ok. Merci Nad-Dan... Je ne dirai pas ce que je pense de ce revirement de VBA. C'est tout de même un peu nul !

Rechercher des sujets similaires à "ouvrir tous fichiers contenus repertoire courant"