Ouvrir plusieurs fichier avec macro
Bonjour à tous,
J'ai actuellement un macro qui m'ouvre les fichiers excel un par un pour aller chercher les données dont j'ai besoin.
Malheureusement, je dois ajouter des nouveaux fichier sources toutes les semaines, ce qui est un peu fastidieux.
Est il possible d'ouvrir tous les fichiers d'un même dossier en même temps pour gagner du temps?
Merci d'avance pour votre aide,
FloBru
Bonjour,
Une piste pour l'ouverture de tous les classeurs d'un dossier dans une boucle. A toi de créer le code pour qu'une fois les classeurs ouverts, tu puisses les traiter (ou reviens pour dire ce que tu souhaites). Adapter le chemin du dossier cible et éventuellement l'extension, ici, avec "*.xls*" ce sont tous les fichiers Excel qui seront ouverts sinon, pour seulement des .xlsx par exemple écrire "*.xlsx" sans le second astérisque :
Sub Test()
Dim Tbl() As String
Dim Chemin As String
Dim I As Integer
Chemin = "D:\Dossier1\Dossier2\" '<-- le dossier doit exister !
'appel de la fonction...
Tbl() = RecupFichiers(Chemin)
'si le tableau a été initialisé...
If Not Not Tbl Then
For I = 1 To UBound(Tbl)
'ouverture de tous les classeurs...
Workbooks.Open Tbl(I)
Next I
End If
End Sub
Function RecupFichiers(Chemin As String) As String()
Dim TableauFichiers() As String
Dim Fichier As String
Dim I As Integer
Fichier = Dir(Chemin & "*.xls*") 'si seuls les.xlsx sont voulus,mettre "*.xlsx"
Do While (Len(Fichier) > 0)
I = I + 1
ReDim Preserve TableauFichiers(1 To I)
TableauFichiers(I) = Chemin & Fichier
Fichier = Dir()
Loop
RecupFichiers = TableauFichiers()
End FunctionBonjour @Theze
Je tiens à rappeler la demande de FloBru
J'ai actuellement un macro qui m'ouvre les fichiers excel un par un pour aller chercher les données dont j'ai besoin.
Malheureusement, je dois ajouter des nouveaux fichier sources toutes les semaines, ce qui est un peu fastidieux.
Est il possible d'ouvrir tous les fichiers d'un même dossier en même temps pour gagner du temps?
Donc ton code n'importe qui aurait pu le donner
A+
Bonjour Bruno,
J'ai peu être mal interprété la question mais de ce que j'en ai compris, les fichiers sont ouverts par macro un par un de façon probablement manuelle (appuis sur un bouton pour le choix du classeur dans le dossier et ouverture) pour ensuite être traités et comme de nouveaux classeurs sont rajoutés, le temps se rallonge pour qu'ils soient tous ouverts et être traités alors qu'avec la boucle que j'ai donné, une seule intervention suffit pour qu'ils soient tous traités.
Donc ton code n'importe qui aurait pu le donner
ça, je n'en doute pas, je n'ai pas la prétention d'être le seul à savoir !
Salut Theze
Si je reprends le 1er post
J'ai actuellement un macro qui m'ouvre les fichiers excel un par un pour aller chercher les données dont j'ai besoin.
Est il possible d'ouvrir tous les fichiers d'un même dossier en même temps pour gagner du temps?
Je pense que son problème est plutôt dans la lenteur du traitement
ça, je n'en doute pas, je n'ai pas la prétention d'être le seul à savoir !
Je sais Thèze, ce n'est pas ce que je voulais dire
A+
Salut,
Premièrement merci à @Thèze et @Bruno pour votre aide et vos essais pour combler mes lacunes
En effet j'ai déjà une macro qui m'ouvre tous mes documents mais elle est bien lente...
Mais je constate en effet que ma demande et impossible sur Excel
Merci encore et bonne journée,
FloBru
Re,
Plutôt que de les ouvrir, tu peux peut-être utiliser la méthode ADO ou ODBC
Pleins de tutos sur ce sujet sur internet