Recherchev sur X fichiers

Résolu
PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   -  
PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Depuis un fichier, comment effectuer une recherchev sur tous les fichiers d'un autre répertoire ?

Répertoire C:\SOURCE\

&

Répertoire C:\fichiers\

rechechev =

valeur cherchée colonne A Fichier1

table_matrice colonne J à colonne BA (sur tous les fichiers)

N° index col = 43

Mon problème est le suivant dans le répertoire, il peut y avoir 10 comme 100 fichiers.

Comment faire pour effectuer une recherchev, sur tous les fichiers ? Qu'importe le nombre de fichiers à interroger ?

Merci d'avance !

Bien cordialement,


Windows / Firefox 102.0

40 réponses

  • 1
  • 2
Résumé de la discussion

Le besoin est d'effectuer une rechercheV sur l'ensemble des fichiers situés dans un répertoire (par exemple C:\SOURCE et C:\fichiers), quelle que soit leur quantité, à partir d'une valeur en colonne A et en extrayant des données des colonnes J à BA (indice 43).
L'approche proposée privilégie Power Query lorsque la version d'Excel le permet (Office 2016/365), avec la possibilité de spécifier le chemin du répertoire dans une cellule et de charger les données dans une plage nommée couvrant A à AY, les colonnes AZ et BA étant ajoutées par la requête.
En alternative, une solution VBA est évoquée, et Power Query demeure la référence lorsque disponible; il est recommandé de vérifier que tous les fichiers aient une structure identique avant de lancer la requête.
Enfin, des obstacles techniques fréquemment mentionnés incluent des en-têtes manquants ou des valeurs nulles dans les données, ce qui nécessite des ajustements de filtrage et de traitement lors de l’importation.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Bonjour,

    Est-ce que ta boîte est toujours en Office2010?

    Si vous avez migré en 2016, on pourrait également utilisé Power Query....

    Dans l'affirmative, est-ce que tous les fichiers compris dans le répertoire de recherche ont la même structure?

    Sinon, on peut quand même tester avec ton PC Perso (365, il me semble...) - Il suffit pour cela que tu joignes 2 fichiers anonymisés de recherche, et ton fichier anonymisé également à partir duquel tu souhaites récupérer tes données...

    @ te relire


    1
    1. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
       

      Bonjour, 

      2016 mais sans power Query. J'ai power pivot si jamais ça peut aider....

      Oui tous les fichiers ont la même structure.

      La solution doit être sur 2016 dans le milieu pro. 

      J'ai bien, perso 365.

      Cdlt

      0
  2. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Ok,

    Finalement, j'évite les noms d'en-têtes, je ne travaille que sur les numéros de colonne...

    Dans le Zip joint, 3 fichiers :
    - Le premier "PQ_Pygos", effectue la récupération des données (à mettre dans un répertoire quelconque, différent du répertoire contenant les fichiers à scanner)

    - Les 2 autres, des fichiers bidons, avec quelques données (à enregistrer dans un même répertoire)

    Pour commencer, il faut configurer le niveau de confidentialité (qui ne sert à rien), et à faire une bonne fois pour toute (j'ai mis la procédure dans le fichier PQ)

    Dans l'onglet "Paramètres", tu as donc cette procédure, mais aussi la cellule C2 à renseigner :
    Mettre dans cette cellule le chemin du répertoire contenant tous les fichiers à scanner

    Une fois mis à jour ce chemin, tu copies/colles tes données de ton onglet (de A à AY). J'ai nommé cette plage "T_Data", qui couvre donc de A1:AYxxxx)

    Il n'y a rien dans les colonnes AZ ni BA, ces colonnes sont rajoutées par la requête (j'ai également ajouté le nom du fichier où on a trouvé les correspondances...)

    Si tu ne t'en sors pas, on va y aller pas-à-pas...

    https://www.cjoint.com/c/MFuktYNtBBC

    Bon courage


    1
    1. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
       

      .../

      Merci ! Je découvre Power Query .....

      Je rencontre des problèmes avec T_Final !

      En actualisant, je vois le nom de tous les fichiers présent dans le répertoire, défiler et puis erreur "Téléchargement non effectué."....

      Expression.Error : Désolé... Nous n'avons pas trouvé la colonne « Name » de la table.
      Détails :     Name

      0
  3. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Re-,

    Je m'étonne des "cellules" contenant "null" dans la première ligne...

    Tu devrais normalement avoir les en-têtes des colonnes...

    Je te propose de continuer demain, dans ce dépannage "hot-line"???

    Je pense que le souci vient d'un peu plus haut

    Bonne soirée


    1
  4. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Nickel,

    Pour commencer un peu avec PQ, tu peux déjà regarder de ce côté pour les bases, par ici ou ici pour appréhender le code M.

    Tu n'as pas donné le résultat????

    Tu as réussi à tout obtenir? En combien de temps approximativement?


    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    bonjour,

    il faut s'arreter à la première valeur trouvée?

    0
    1. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
       

      Bonjour,

      Oui .

      Merci !

      0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention  
       

      Je pense que le mieux est de faire cela via un code VBA.

      • Quand faut-il faire la recherche?
      • Quelle valeur faut-il chercher?
      • Où faut-il la chercher?
      • Que faut-il faire quand la valeur est trouvée?
      1
    3. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      • Il faut chercher toutes les valeurs de la colonne A du fichier source
      • Recherche dans tous les fichiers d'un répertoire en colonne J la valeur colonne A
      • renvoyer la valeur de la colonne BA
      • Le résultat en colonne BC du fichier source
      0
    4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention  
       

      Quels sont les quantités, en  gros? 

      - nombre de valeurs à chercher

      - nombre de valeurs dans lesquelles chercher

      Est-il réaliste de créer, par VBA, une feuille contenant toutes les valeurs en J & BA?

      0
    5. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       

      .../

      15 000 ~en colonne A

      Imaginons que j'ai "124577" en A8, je recherche dans tous les fichiers cette référence en colonne J et si je trouve je récupère l'info de la colonne BA, que j'indique dans le fichier source en ligne 8 colonne BD.

      0
  7. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Re-,

    Si tu as 2016, tu as Power Query.... C'est en natif avec la version


    0
    1. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
       

      Non c'est désactivé en entreprise....

      0
      1. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383 > PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention  
         

        Bonjour,

        Va vraiment falloir que ta boîte m'explique....

        Elle autorise les macros, et interdit Power Query?????

        Le stagiaire RSI n'a pas confondu?

        Que se passe-t-il sur tu appuies sur les touches Alt + F12?

        Le volume de données à traiter que tu indiques supra n'est pas un obstacle pour PQ...

        PS, je précise que je n'ai aucune action :)

        0
      2. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21 > cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention  
         

        .../

        ALT +F12 rien ne se passe....

        0
  8. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Ok,

    Vraiment désolé pour toi, reste à espérer que yg_be te trouvera une solution (mais j'en doute pas trop...)

    Bonne journée


    0
    1. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
       

      Merci d'avoir essayé ! Si tu as un exemple avec Power Query et que tu as le temps, je veux bien voir sur excel 365 à la maison ....

      Oups, désolé je viens de m'apercevoir que dans données > autres sources > provenance Microsoft Query, je peux sélectionner des fichiers ...... Cela veut il dire que je peux me servir de PoWer Query (pas de connaissance à ce sujet, mais....)

      Bonne journée !

      0
  9. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Re-,

    Déjà, bonne nouvelle..

    Par contre, je pense que si tu fournissais (comme demandé un peu plus tôt) des fichiers exemples, anonymisés, mais avec la structure exacte de tes fichiers réels - nb d'onglets, les noms des fichiers à "scanner" ont-ils des bases communes?, bref, tout ce qui pourrait être utile...

    Je t'expliquerai alors ce qu'il te faudra faire, pour adapter à ton environnement.

    @ te relire


    0
    1. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
       

      .../

      Fichiers Cible

      Ce sont des tableaux avec 53 colonnes de A à BA (les titres se trouvent en ligne2)

      L'élément en commun se trouve :

      Fichier source en colonne A

      Fichiers Cible en colonne J

      Dans les fichiers Cible,il y a en colonne AZ une date et en colonne BA un motif.

      Je souhaite rapatrier la date et le motif pour tous les éléments trouvés dans les fichiers Cible vers le fichier Source (Colonne AZ pour la date et BA pour le Motif), comme dans les fichiers Cible).

      Il n'existe pas de doublon....

      0
  10. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Re-,

    Dans les fichiers "Source", les titres ont tous le même nom?

    Quels sont les en-têtes des colonnes J, AZ et BA?


    0
    1. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
       

      .../

      Oui, les fichiers source ont tous le même nom

      En J = Elément recherché

      En AZ = Date contact

      En BA = Motif Contact

      Le fichier ou je dois récupérer les infos :

      En A = Elément recherché

      En AZ = Date contact

      En BA = Motif Contact

      0
      1. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383 > PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention  
         

        Re-,

        Pour être bien sûr...

        La casse est essentielle, donc "Date contact" (D majuscule, c minuscule), et "Motif Contact" (les deux en nom propre)

        0
      2. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21 > cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention  
         

        Oui , et toujours en colonne AZ & BA

        0
  11. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Re-,

    On va privilégier les "Réponses" aux "Commentaires", je trouve la lecture du fil bien plus aisée...

    Lorsque tu es dans l'éditeur PQ, à gauche, les requêtes, et à droite, les étapes

    Tu cliques sur la requête "T_Final", puis sur l'étape "SupprCol2"

    Quel est le mot dans la 1ère ligne de la 3ème colonne?

    Tu retiens ce nom, puis, 2 étapes plus bas, tu remplaces le "Name" par ce mot :

    = Table.RenameColumns(PromoHead,{{"Name", "Fichier"}})

    A cette étape, je renommais la colonne "Name" par "Fichier"

    Essaie, puis on continue...


    0
    1. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
       

      2 étapes plus bas c'est rename ?

      0
  12. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Heu, c'est bizarre, il n'y a aucune données?

    Dans la requête "T_Recup", tu as des données, à chaque étape?


    0
    1. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
       

      Dans T_RECUP, j'ai en colonne1 Name avec le nom des fichiers

      En colonne 11 = null

      En colonne 53 = null

      En colonne 54 = null

      0
  13. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Re-,

    T_Recup, étape "Selections", tu as quoi?

    Regarde le fichier ppt joint, j'y ai mis les étapes de la requête "T_Recup"

    Tu me dis à quelle étape (hormis évidement les noms de fichiers), on n'a plus les mêmes "données"

    https://www.cjoint.com/c/MFunxArEb8C


    0
    1. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
       

      ../

      T_Recup, étape "Selections", tu as quoi?

      Une colonne Name et une colonne Data

      Name = la liste des fichiers

      Data = Table

      0
      1. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21 > PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention  
         

        ..../

        La colonne 11, correspond pas à la colonne J ou je me trompe...

        0
      2. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383 > PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention  
         

        Re-,

        Est-ce que tu peux utiliser "Répondre", et non "Commenter"?

        La colonne 1 est la liste des fichiers (Name), et comme J est la 10ème lettre, donc colonne10 + 1

        Ce qui m'intéresse,c'est de savoir si tu obtiens bien toutes les données de tous tes classeurs..

        Ensuite, on continue

        0
    2. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
       

      T_Recup étape Selections :

      = Table.SelectRows(Expand1, each ([Kind] <> "DefinedName")) [[Name],[Data]]

      0
  14. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Ok, donc on va descendre

    Regarde mon fichier..

    A l'étape suivante, tu as des données?

    PS, il me vient un doute...

    Combien d'onglets dans tes fichiers à scanner?

    Est-ce que l'onglet contenant les données est bien le premier onglet?


    0
  15. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Re-,

    Je ne sais pas si je parle français...

    Je t'ai demandé d'utiliser "Répondre", et non "Commenter"...

    Bref...

    As-tu regardé mon fichier powerpoint?

    Est-ce que tu as des données à l'étape "Expand", de la requête "T_Recup"? (regarde bien vers la droite, également)


    0
  16. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
     

    Je viens de vérifier l'ensemble des requêtes, après lecture du powerpoint et je viens de relancer.

    Etape "Expand" = null

    La différence par rapport au powerpoint, C'est à l'étape SupprCol, j'ai null

    Combien d'onglets dans tes fichiers à scanner?

    3

    Est-ce que l'onglet contenant les données est bien le premier onglet?

    Oui après rectification ! Il est nommé Feuil1 désormais..

    Je désespère............

    0
  17. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
     

    .../

    Dans T_RECUP SupprCol, j'obtiens enfin des résultats (certaines lignes sont toujours = null), mais d'autres renvoient des infos........

    Mais toujours plantage T_Final, cette fois-ci dans la colonne "Date contact" .

    Je vérifie les fichiers pour avancer.....

    0
  18. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Re-,

    La position de l'onglet est bien en première? (le nom importe peu, c'est la position)

    Est-ce que tu as besoin des autres onglets?

    Sinon, quelle colonne est forcément remplie?

    Admettons la colonne J.

    Dans la requête "T_Recup", tu cliques sur l'étape "DemoteHead", tu sélectionnes la colonne 11, puis tu cliques sur le Filtre, et tu décoches "null"

    Est-ce que ça s'améliore? (n'aies aucune crainte, on n'intervient pas du tout sur les fichiers réels)


    0
  19. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
     

    .../

    J'avance ! j'ai testé avec un seul fichier,

    Dans T_RECUP, je retrouve toutes les infos.

    J'ai décoché "null"

    Dans T_Final, lorsque je réactualise tout, un message apparait [Epression.Error] Désolé ...Nous n'avons pas trouvé la colonne "Date contact" de la table.

    T_FINAL = !Téléchargement non effectué

    J'ai les résultats sur T_RECUP, mais du coup dans mon tableau EXCEL je ne récupère rien, pour l'instant.....

    0
  20. PYGOS69 Messages postés 452 Date d'inscription   Statut Membre Dernière intervention   21
     

    .../

    Est-ce que tu as besoin des autres onglets ?

    Non (j'ai laissé que la Feuil1)

    Sinon, quelle colonne est forcément remplie ?

    Colonne J

    0
  • 1
  • 2