Macro recherche fichier

Bonjour une petite question,

j'ai présentement une macro qui va lire dans deux repertoires une fichier pdf, le nom du fichier est variable, donc une input box ouvre où j'entre un numéro et ensuite ma macro me sort tous les doc pdf qui trouve dans les 2 repertoire qui contient les numéro inscrit. Mon but est de rajouter un répertoire, mais c'est pas le nom du fichier qui est variable mais le nom du dossier, ensuite il prendrait tous les fichiers pdf de ce dossier.

Je voulais savoir si cela était possible si oui je joindrer mon fichier avec ma macro pour pourvoir mieux vous expliquer ce que je veux.

Merci d'avance

Bonjour maxime, forum,

Il faudrait qu'on voit le fichier pour mieux t'aider.

Mais je te conseille d'ores et déjà d'aller faire un tour ici : http://boisgontierjacques.free.fr/pages_site/GestionRepertoire.htm

Tu trouveras peut-être ce que tu cherches. Sinon, reviens, on adaptera!

J'ai réussi ce que je voulais faire mais je découvre une autre chose que je voudrais améliorer dans mon code

Voici ma macro écris sur deux module

Module 1 :

Public NomFichierOuvrir As String

Sub RechercheFichier(MonFichier As String, Rep1 As String, Rep2 As String, Rep3 As String)
Dim oFS As Office.FileSearch
Dim NbResultat As Integer
Dim TableauResultat() As String

Set oFS = Application.FileSearch
With oFS
    'Recherche répertoire 1
    .NewSearch
    .Filename = MonFichier & "*.pdf"
    .LookIn = Rep1
    .Execute

    For i = 1 To .FoundFiles.Count
            NbResultat = NbResultat + 1
            ReDim Preserve TableauResultat(NbResultat)
            TableauResultat(NbResultat) = .FoundFiles.Item(i)
    Next i

    'Recherche répertoire 2
    .NewSearch
    .Filename = MonFichier & "*.pdf"
    .LookIn = Rep2
    .Execute

    For i = 1 To .FoundFiles.Count
            NbResultat = NbResultat + 1
            ReDim Preserve TableauResultat(NbResultat)
            TableauResultat(NbResultat) = .FoundFiles.Item(i)

    Next i

    'Recherche répertoire 3
    .NewSearch
    .Filename = "*.pdf"
    .LookIn = Rep3 & MonFichier & "\"
    .SearchSubFolders = True
    .Execute

    For i = 1 To .FoundFiles.Count
            NbResultat = NbResultat + 1
            ReDim Preserve TableauResultat(NbResultat)
            TableauResultat(NbResultat) = .FoundFiles.Item(i)

    Next i
End With

Select Case NbResultat
    Case 1
        NomFichierOuvrir = TableauResultat(1)

    Case Is > 1
        For i = 1 To NbResultat
            Label2.ListBoxFichier.AddItem (TableauResultat(i))
        Next i

        Label2.Show

    Case Else
        NomFichierOuvrir = "Introuvable"
End Select

End Sub

Module 2 :

Sub Ouverture_pdf_Test()
    Dim NomFichier As String

    NomFichier = InputBox("Entrer le nom du fichier PDF", "Ouverture PDF")
    If Not NomFichier = "" Then
        Call RechercheFichier(NomFichier, "P:\Dossiers\Rive-Sud\CONTRAT RS\", "P:\Dossiers\Rive-Nord\CONTRAT RN\", "P:\Job_CAN\")
        Select Case NomFichierOuvrir
            Case "Introuvable"
                MsgBox "Fichier introuvable"
            Case "Annule"

            Case Else

                ActiveWorkbook.FollowHyperlink Address:=NomFichierOuvrir

        End Select

    End If
End Sub

je veux améliorer 2 chose.

1) Toujours afficher une listbox même si j'ai une seul fichier trouvé.

2) Lorsque je sélectionne une fichier dans ma listebox, le fichier ouvre, mais ma listbox se ferme, mais jaimerais qu'elle reste ouverte pour que je puisse sélectionner d'autre fichier.

Merci

Bonjour maxime, forum,

Je crains de ne pouvoir t'aider, je n'ai jamais manipulé de listbox

J'ai bien essayé de tester ton code mais ça me retourne une erreur "Objet requis" à cette ligne : Label2.ListBoxFichier.AddItem (TableauResultat(i))

Est-ce normal?

Oui je crois que je sais, c'est parce que label2 est une userform et j'avais oublier de préciser que je ne l'avais pas envoyé.

Je joins un fichier avec la macro, tout est dedans et pour la tester tu as juste à modifier les répertoire.

Je ne suis pas obliger de garder la listebox, si il y a un autre moyen d'arriver au même résultat mais d'une autre façon ça me dérange pas.

https://www.excel-pratique.com/~files/doc2/ouverture_pdf_test.xls

Dit le moi s'il y a un problème

Salut à toi, forum,

C'est plus facile avec un fichier!

Voici ton fichier en retour. Dis-moi si ya quelque chose qui ne va pas : https://www.excel-pratique.com/~files/doc2/ouverture_pdf_test_v1.xls

2 problèmes.

1) Lorsqu'il y a seulement un fichier la macro effectue une boucle lors de l'ouverture du fichier alors le pdf ouvre correctement sauf que toute les fois ou je ferme le pdf il s'ouvre à nouveau.

2)Lorsque la Userform apparait, desfois, je n'ai pas trouver pourquoi, l'information se répète plusieurs fois, il me donne les fichiers en double ou en triple.

Merci

Re,

Bon maxime, j'ai beau chercher mais je sais pas comment faire

Je laisse ma place aux spécialistes VBA!

Je continue à chercher, mais sans trop de conviction!

Pas de problème et merci quand même

Rechercher des sujets similaires à "macro recherche fichier"