Rechercher un fichier sur un disque dur

Résolu
Bodo77 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
borntobealive Messages postés 138 Date d'inscription   Statut Membre Dernière intervention   -
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 :

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
A voir également:

4 réponses

borntobealive Messages postés 138 Date d'inscription   Statut Membre Dernière intervention   7
 
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
2
Bodo77 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup. Cela marche après quelques petites modif.
En fait, je ne connaissais pas le principe de l'objet. C'est bon maintenant.
0
borntobealive Messages postés 138 Date d'inscription   Statut Membre Dernière intervention   7
 
oublie pas de marquer le post comme résolu ;-)
ravi d'avoir pu aider
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
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

0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

A mon humble avis, il te faut parcourir tous les sous dossiers pour trouver ton fichier.
Regarde cette discussion presque similaire.
0
Bodo77 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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.
-2
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
J'interroge ma boule de cristal et quand elle me dira exactement ce que tu cherches à faire, je reviens te donner une solution !!!
0