Ouverture de fichier sans connaître le nom

Résolu
Lameche15 Messages postés 156 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 15 septembre 2022 - 1 juil. 2019 à 15:59
Lameche15 Messages postés 156 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 15 septembre 2022 - 2 juil. 2019 à 12:00
Bonjour,

Je souhaiterais pouvoir balayer tous les sous-dossiers contenant chacun un fichier excel et après l'ouvrir, copier la première ligne et la coller dans le classeur contenant la macro.
J'ai commencé à écrire le code suivant:

 Sub Liste_Unique()
Racine = CurDir

Set fs = CreateObject("Scripting.FileSystemObject")
Set Dossier = fs.getfolder(Racine)
For Each d In Dossier.SubFolders

nomfichier = Dir(d & "\*.xlsx")
MsgBox nomfichier
'Workbooks.Open Filename:=Dir(d & "\*.xlsx")

'Workbooks.Open nomfichier
Next

End Sub


Voici le message d'erreur que j'obtiens:


Quelqu'un a t-il une idée du problème?

Merci d'avance




--

4 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 21
Modifié le 1 juil. 2019 à 17:14
Bonjour,

Pour ouvrir un fichier, il est préférable de donner le chemin complet (DIR ne fournit que le nom)

0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
1 juil. 2019 à 21:05
Bonjsoir
En complément de la réponde de Patrice33740 que je salue un lien utile : https://www.excel-downloads.com/threads/fonction-dir.139255/
Ceci ne te renvoie que le nom du fichier
0
Lameche15 Messages postés 156 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 15 septembre 2022
2 juil. 2019 à 11:57
Du coup je tente ce code mais rien n'y fait:

Sub Liste_Unique()
Dim Racine, nomfichier, fichier As String

Racine = "F:\Dossiers Communs\THM\RECENSEMENT DES MS\Fichiers à envoyer à AREO\MURS"

Set fs = CreateObject("Scripting.FileSystemObject")
Set Dossier = fs.getfolder(Racine)
For Each d In Dossier.SubFolders

nomfichier = Dir(d & "\*.xlsx")
'MsgBox d
'MsgBox nomfichier

fichier = "" & Racine & "\" & d & "\" & nomfichier
Workbooks.Open Filename:="" & fichier



'Workbooks.Open fichier


Next


End Sub
0
Lameche15 Messages postés 156 Date d'inscription mardi 9 septembre 2008 Statut Membre Dernière intervention 15 septembre 2022
2 juil. 2019 à 12:00
Pardon autant pour moi j'ai trouvé mon erreur, d est suffisant puisque le dir me retourne le chemin en entier jusqu'au sous dossiers

Merci infiniment pour votre aide

--
0
Rejoignez-nous