Rechercher un fichier sur un disque dur
Résolu
Bodo77
Messages postés
4
Statut
Membre
-
borntobealive Messages postés 167 Statut Membre -
borntobealive Messages postés 167 Statut Membre -
Bonjour,
Je viens d'arriver sur ce forum. Mais ce n'est pas la première fois que j'y accède.
J'ai jusqu'à maintenant tout trouvé pour me satisfaire.
Malheureusement, J'ai un problème (petit pour vous) que je n'arrive pas à résoudre :
En fait, dans le dossier "CLIENTS", il y a tous les dossiers avec le numéro de client (ex. : 602586, 684256...). Puis pour chaque client, il y a un sous-dossier "Commandes" dans lequel sont rangés tous les PDF.
Cette macro devrait me permettre d'ouvrir le PDF qui se trouve dans un des dossiers CLIENTS.
Ai-je été assez explicite ? J'espère.
Merci
Je viens d'arriver sur ce forum. Mais ce n'est pas la première fois que j'y accède.
J'ai jusqu'à maintenant tout trouvé pour me satisfaire.
Malheureusement, J'ai un problème (petit pour vous) que je n'arrive pas à résoudre :
Sub Commande()
Dim Comp as string
Comp = "Nomdufichier"
Path = "P:\CLIENTS\*\Commandes" & Comp & ".pdf"
If Len(Dir(Path)) = 0 Then
MsgBox ("Le fichier n'existe pas !")
Else
ThisWorkbook.FollowHyperlink Path
End If
End Sub
En fait, dans le dossier "CLIENTS", il y a tous les dossiers avec le numéro de client (ex. : 602586, 684256...). Puis pour chaque client, il y a un sous-dossier "Commandes" dans lequel sont rangés tous les PDF.
Cette macro devrait me permettre d'ouvrir le PDF qui se trouve dans un des dossiers CLIENTS.
Ai-je été assez explicite ? J'espère.
Merci
4 réponses
-
Comme Polux31 je n'ai pas de boule de cistal donc je me lance pour voir si j'ai compris ta demande :
Sub ChercherPDF(LeDossier As String) Dim fso As Object Dossier As Object Fldr As Object Dim comp As String Dim fichier As String Dim chermin As String Set fso = CreateObject("scripting.FileSystemObject") Set Dossier = fso.getfolder(LeDossier) 'examen de chaque dossier client For Each Flder In Dossier.subfolders fichier = Dir(Flder.Path & Application.PathSeparator & "Commande" &_ Application.PathSeparator & comp & ".pdf") If fichier <> "" Then chemin = Flder.Path & Application.PathSeparator Exit For Next Flder If fichier = "" Then MsgBox "le fichier n'existe pas" Else fichier = chemin & "Commandes" &_ Application.PathSeparator & comp & ".pdf" ThisWorkbook.FollowHyperlink fichier End If End Sub
Sans conviction -
Bonjour,
Il faudrait nous dire où est le problème exactement ?
"Path" est un mot réservé par VB. Peut être en remplaçant par "Dossier":
Sub Commande() Dim Comp as string Dossier As String Comp = "Nomdufichier" Dossier = "P:\CLIENTS\*\Commandes" & Comp & ".pdf" If Len(Dir(Dossier)) = 0 Then MsgBox ("Le fichier n'existe pas !") Else ThisWorkbook.FollowHyperlink Dossier End If End Sub
-
Bonjour,
A mon humble avis, il te faut parcourir tous les sous dossiers pour trouver ton fichier.
Regarde cette discussion presque similaire.
-
Non, ce n'est pas ça du tout. ça ne marche pas.
Si je remplace le "*" par le nom du dossier, il le trouve.
Ce que je veux, c'est quand je ne connais pas ce dossier.