Recherche de dossiers et fichiers .pdf dans un dossier

Bonjour,

je souhaiterais faire une recherche d'abord dans un dossier pour répertorier tous les dossiers qu'il contient pour ne garder que les dossiers nominatifs par la suite, j'ai vu qu'avec Power Query cette recherche est possible: "Données > Obtenir des données > À partir d'un fichier > À partir d'un dossier."

Par contre pour rechercher les fichiers ".pdf" contenus dans les dossiers trouvés est plus compliqué, ils commencent tous par les mêmes mots "Décision d'imputabilité".

Existe t-il une solution à ce problème???

merci à vous et bonne journée

Bonjour Bayard

Peut-être ainsi

let
    Source = Folder.Files("D:\DOSSIER_PRINCIPAL"),
    #"Lignes filtrées" = Table.SelectRows(Source, each ([Extension] = ".pdf")),
    #"Lignes filtrées1" = Table.SelectRows(#"Lignes filtrées", each Text.Contains([Name], "Décision d'imputabilité"))
in
    #"Lignes filtrées1"

A+

Hey,

Pour info, il faut copier le code de JExcel2fr dans le l'éditeur avancé et ton problème sera réglé. Met bien à jour ton dossier dans le code

image

@+

Bonjour JExcel2fr et baroute78,

Je viens de tester tout ça sur un de mes dossiers perso, dans l'ensemble ça fonctionne

mais je n'arrive pas à avoir sur ma feuille excel le nom du dossier rechercher avec le nom du pdf qui est à l'intérieur sur la même ligne.

le deuxième problème c'est que cette recherche sera à faire sur le PC de mon épouse qui travaille avec un Excel 2016 je crois.

Hey,

Une proposition

Adapte ton chemin et clic droit puis actualiser sur le tableau à côté

@+

16classeur2.xlsx (17.90 Ko)

Désolé, BAROUTE78, je n'ai pas compris le principe que tu proposais, donc je me suis orienté vers une macro. Avec l’aide de mon ami GPT , j’ai réussi à lui faire faire ce que je voulais.

La seule chose que je n’ai pas réussi à lui faire comprendre, c’est que si, dans un dossier, il n’y a pas le fichier .pdf recherché, elle mette quand même le nom de ce dossier, mais laisse la ligne vide à la place du nom du PDF.

Encore merci à vous deux pour votre travail. Bonne après-midi.

Sub RechercherPDF()

    Dim fso As Object
    Dim dossier As Object
    Dim sousDossier As Object

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set dossier = fso.GetFolder("C:\Users\XXX\XX\XXX\ABCD")

    For Each sousDossier In dossier.SubFolders
        ' Vérifie si le premier caractère n'est pas un chiffre
        If Not IsNumeric(Left(sousDossier.Name, 1)) Then
            ListerPDF sousDossier
        End If
    Next sousDossier

End Sub

Sub ListerPDF(dossier As Object)

    Dim fichier As Object
    Dim sousDossier As Object
    Dim ligne As Long

    ligne = Cells(Rows.Count, 1).End(xlUp).Row + 1

    For Each fichier In dossier.Files
        If LCase(Right(fichier.Name, 4)) = ".pdf" _
        And Left(fichier.Name, 8) = "Décision" Then

            Cells(ligne, 1).Value = dossier.Name
            Cells(ligne, 2).Value = fichier.Name
            ligne = ligne + 1

        End If
    Next fichier

    ' Parcours récursif des sous-dossiers ne commençant pas par un chiffre
    For Each sousDossier In dossier.SubFolders
        If Not IsNumeric(Left(sousDossier.Name, 1)) Then
            ListerPDF sousDossier
        End If
    Next sousDossier

End Sub

Hey,

mais je n'arrive pas à avoir sur ma feuille excel le nom du dossier rechercher avec le nom du pdf qui est à l'intérieur sur la même ligne.

le deuxième problème c'est que cette recherche sera à faire sur le PC de mon épouse qui travaille avec un Excel 2016 je crois.

J'ai sûrement mal compris, mais j'ai interprété la chose où tu voulais avoir la liste des PDF contenus dans le dossier que tu renseignes dans le tableau de gauche non ?

@+

non ce n'est pas de ta faute mais je n'ai pas trop bien compris le fonctionnement et j'ai ce message!

image

Hey,

Voici une solution, j'arrive à ça :

image

Ouvre mon fichier puis

image

Puis

image

Puis

image

@+

6classeur2-3.xlsx (18.83 Ko)

Ha ouais, c'est beaucoup mieux!!!

merci

Rechercher des sujets similaires à "recherche dossiers fichiers pdf dossier"