Microsoft 365 Recherche d'un code à 13 chiffres dans des fichiers PDF via excel ou PowerQuery

Lulu974

XLDnaute Nouveau
Bonjour à tous,
Voilà j'ai une liste de codes GTIN à 13 chiffres (1 code à 13 chiffres par cellules) dans excel (5637 codes) que je souhaite rechercher en masse dans des PDF présents dans un dossier (9036 PDF).
Si cette recherche aboutie, elle devrait me donner le nom du fichier PDF (pour que je puisse l'identifier rapidement + le code à 13 chiffres trouvé).

Je ne sais pas si ma demande est compréhensible.

Est-ce que cela vous semble possible ?

Je vous remercie d'avance pour votre aide.

Bonne soirée.
Lucie
 

Pièces jointes

  • Recherche_GTIN_PDF.xlsm
    10.1 KB · Affichages: 8

Lulu974

XLDnaute Nouveau
RE

PowerQuery modifié.

J'ai enlevé aussi es doublons d'une même fiche
Bonjour @chris, je te remercie pour la modif ;).
Je viens de teste c'est nickel.
En revanche que je lance la requête pour 11 codes GTIN sur 1302 PDF juste pour tester ça me met le message suivant :
1674401117182.png

Est-ce que cela est dû au trop grand nombre de PDF ?
Penses-tu qu'il y a moyen de limiter la recherche dans les PDF de séries de 13 et 14 chiffres ?
Merci d'avance pour tes lumières.
Lucie
 
Dernière édition:

chris

XLDnaute Barbatruc
RE

Corrupted semble indiquer un fichier corrompu (ou une extension pdf ne correspondant pas au contenu)

Dans la 1ère mouture j'avais oublié de filtrer sur l'extension et l'analyse d'un Excel donnait le même message...

On peut filtrer les erreurs : à faire dans la requête pdf juste après l'étape d''appel à la fonction personnalisée
 

Pièces jointes

  • Recherche_GTIN_PDF_PQ.xlsx
    23.6 KB · Affichages: 2
Bonsoir Lulu74, eastwick, bhbh, kiki29, chris, le forum

@Lulu974 , une proposition vba, sans programme externe, qui crée des liens vers les fichiers PDF contenant la référence en colonne B.

Cordialement, @+

[édition, code mis à jour, plus rapide sur un grand nombre de fichiers]

Animation.gif
 

Pièces jointes

  • Recherche_GTIN_PDF_VBA.xlsm
    107.8 KB · Affichages: 6
Dernière édition:

Lulu974

XLDnaute Nouveau
RE

Corrupted semble indiquer un fichier corrompu (ou une extension pdf ne correspondant pas au contenu)

Dans la 1ère mouture j'avais oublié de filtrer sur l'extension et l'analyse d'un Excel donnait le même message...

On peut filtrer les erreurs : à faire dans la requête pdf juste après l'étape d''appel à la fonction personnalisée
Hello @chris ,
Wouaww ça a fonctionné merci à toi pour ton aide et implication. C'est top !
Je viens de faire le test de 1089 codes GTIN à rechercher dans 1302 PDF et ça a fonctionné ;)). J'en ai trouvé plus de 700. Les 300 codes restant sont sans doute que je n'ai pas le PDF associé.
Allez je me lance sur la recherche des 5637 codes dans les 9036 PDF. Je te tiens au courant.
Encore mille mercis.
Bonne soirée Lucie
 
Dernière édition:

Lulu974

XLDnaute Nouveau
Bonsoir Lulu74, eastwick, bhbh, kiki29, chris, le forum

@Lulu974 , une proposition vba, sans programme externe, qui crée des liens vers les fichiers PDF contenant la référence en colonne B.

Cordialement, @+

[édition, code mis à jour, plus rapide sur un grand nombre de fichiers]

Regarde la pièce jointe 1161259
Bonjour @Bernard_XLD
Je te remercie pour ton retour très intéressant également. C'est super pratique avec les liens vers les PDF ;) et hyper rapide !
Je n'arrive pas à télécharger ton fichier. C'est bizarre ça me met introuvable.
Peux-tu me le recharger stp ?
Je te remercie d'avance.
Bonne soirée à toi.
Lucie
 
Dernière édition:

Lulu974

XLDnaute Nouveau
Bonjour Lulu974, le forum

commence par 1000 fichiers, cela te donnera une idée du temps de traitement à 9000
1000 fichiers, je dirais 5 à 10 minutes pour 1000 selon l'ordinateur si tous tes fichiers sont de la même structure que ceux en exemple.

Cordialement, @+
Bonjour @Bernard_XLD
Hier j'ai lancé le texte sur la totale (Allez, je me suis dit soyons fous 😅 !) Au début ça avait bien fonctionné, mais malheureusement après 9h05 d'analyse de 5635 codes GTIN dans 8926 fichiers, à environ 76% des fichiers analysé, (désolée je n'ai pas eu le réflexe de faire une screen de la progression :(), j'ai eu le message d'erreur suivant :
1674642589453.png

Mon excel n'a pas aimé visiblement 😅.

Du coup j'ai relancé une analyse moins ambitieuse de 5635 codes GTIN dans 1041 fichiers et voici la progression :
1674643163203.png

Cela a fonctionné.

Du coup il va falloir que je lance des analyses par groupe de 1000 fichiers peut-être.

Merci pour aide précieuse @Bernard_XLD.
Bonne journée à toi.
Lucie
 
Salut Chris

@Lulu974 , essaies la requête de Chris, voir si elle fonctionne et en combien de temps, Powerquery sera sans doute plus rapide que VBA, après on peut toujours y ajouter une génération de lien.
Bonjour @Bernard_XLD
Hier j'ai lancé le texte sur la totale (Allez, je me suis dit soyons fous 😅 !) Au début ça avait bien fonctionné, mais malheureusement après 9h05 d'analyse de 5635 codes GTIN dans 8926 fichiers, à environ 76% des fichiers analysé, (désolée je n'ai pas eu le réflexe de faire une screen de la progression :(), j'ai eu le message d'erreur suivant :
Regarde la pièce jointe 1161378
Mon excel n'a pas aimé visiblement 😅.

Du coup j'ai relancé une analyse moins ambitieuse de 5635 codes GTIN dans 1041 fichiers et voici la progression :
Regarde la pièce jointe 1161380
Cela a fonctionné.

Du coup il va falloir que je lance des analyses par groupe de 1000 fichiers peut-être.

Merci pour aide précieuse @Bernard_XLD.
Bonne journée à toi.
Lucie
absolument anormal ce plantage !
peut tu poster plus de PDF, notamment les plus gros en taille, le programme que j'ai fait est limité à deux pages. On pourrait analyser le nombre de pages de chaque PDF mais cela ralentirait l'exécution.
le temps, 1h52, me parait aussi bien long pour 5000 codes à chercher dans 1000 fichiers, j'aurais plutôt vu 15 à 20 minutes, je vais revoir le code.
Tes fichiers PDF sont sur une ressource réseau ?
C'est quoi, ton ordinateur ?

Cordialement, @+
 

Lulu974

XLDnaute Nouveau
Bonjour à tous


Et ?
Hello Chris,
J'espère que tu vas bien. Alors voici mon petit retour. Le lancement d'analyse VBA proposé par @Bernard_XLD monopolise Excel, du coup pas de possibilité de travailler sur Excel en parallèle et comme j'ai lancé une analyse qui a durée 9h hier, j'étais prise de court pour tester ton fichier.
Néanmoins dimanche, j'ai lancé un test pour voir ce que ça donnait.

Lancement de la requête recherche 5635 codes GTIN dans 3385 fichiers (j'ai hésité à faire la totale du premier coup 😅) =>1474 concordances retrouvées. Je pense que pour les codes manquants soit les fichiers ne sont pas tous en PDF (oui j'ai vu que j'avais du word / excel / parfois même des images :eek:) soit dans certains fichiers PDF le code GTIN est sous forme d'image ou j'ai vu également que certains codes GTIN commençait par un 0 avant la série de chiffres ou d'autres codes GTIN on des espaces à l'intérieur de la série.
En gros les PDF ne sont pas super propre. Ils ne sont pas tous du même format car plusieurs interlocuteurs différents.

Alors en terme de temps maintenant, pour faire cette analyse "la requête recherche 5635 codes GTIN dans 3385 fichiers" cela à pris entre 20 et 30 minutes (désolée je n'ai pas lancé le chrono :().

Après l'analyse VBA proposé par @Bernard_XLD , qui est en cours, je lancerai la tienne pour voir le timing sur la requête de recherche de 5635 codes GTIN dans les 8926 fichiers et cette fois-ci je mets le timer ;).

Je te tiens au courant @chris.
Merci à toi pour le suivi.
Lucie
 
Dernière édition:

Lulu974

XLDnaute Nouveau
Salut Chris

@Lulu974 , essaies la requête de Chris, voir si elle fonctionne et en combien de temps, Powerquery sera sans doute plus rapide que VBA, après on peut toujours y ajouter une génération de lien.

absolument anormal ce plantage !
peut tu poster plus de PDF, notamment les plus gros en taille, le programme que j'ai fait est limité à deux pages. On pourrait analyser le nombre de pages de chaque PDF mais cela ralentirait l'exécution.
le temps, 1h52, me parait aussi bien long pour 5000 codes à chercher dans 1000 fichiers, j'aurais plutôt vu 15 à 20 minutes, je vais revoir le code.
Tes fichiers PDF sont sur une ressource réseau ?
C'est quoi, ton ordinateur ?

Cordialement, @+
Bonsoir @Bernard_XLD ,
Ah tu me rassures :). J'étais bien lancé hier et quand ça a planté hier fin d'aprem, j'étais :eek: 😭. Cependant j'ai oublié de préciser hier mais saches que suite à l'analyse qui a planté cela m'a donné des résultats quand même : 1085 860 résultats trouvés.

Alors dans l'hypothèse où il y avait trop grand nombre de PDF à analyser (et comme je l'ai indiqué à @chris je me suis aperçue qu'il y a également des fichiers WORD/EXCEL/Images que je n'avais pas vu) , j'ai décidé, ce midi, de lancer une 1ère analyse qui a aboutie cette fois-ci => 5635 code GTIN dans 4463 PDF ou autres (en gros j'ai splitté en 2 mon dossier PDF) ce qui m'a donné 1060 matchs et voici niveau progression ce que ça a donné :
1674679272810.png


Je vais lancé une 2nde analyse sur les 4463 fichiers restant. Je te dirais si niveau timing on est pareil ☺️.

Alors pour répondre à tes interrogations : Mes fichiers PDF(et autres formats) sont hébergés sur disque dur externe. Ces fichiers sont également sur mon PC, qui est synchro à MO365, mais ils sont classés dans un dossier comprenant des sous-dossiers. Comme je ne sais pas si ta proposition recherche dans un dossier avec des sous-dossiers, j'ai préféré faire comme ça sur disque dur externe (hors réseau MO365) .
Mais si la synchro MO365 + recherche dans un dossier avec des sous-dossiers est possible, il se pourrait que ça aille plus vite.
Alors moi je suis sous Excel Microsoft Officr 365 - PC Windows10 - RAM 8G - SE 64.

Je ne peux pas mettre les PDF ici malheureusement de part la confidentialité.
Pour les tests j'ai dû supprimer pas mal d'info sur les PDF pour que ce soit neutre, mais sache que certains PDF peuvent peser lourd car il y a des photos à titre d'exemple :
1674680470269.png

Les fichiers les plus légers font :
1674680563580.png

Ah tiens !! le 0Ko m'interpelle ... en l'ouvrant dans adobe =>fichier endommagé. Ca se trouve c'est ça qui a fait planté l'analyse d'hier.
J'espère avoir répondu un max à tes interrogations @Bernard_XLD .
Encore merci pour ta patience ton aide. Vous êtes top @Bernard_XLD @chris @eastwick @kiki29 !
Bonne soirée
Lucie
 
Dernière édition:

Lulu974

XLDnaute Nouveau
Hello Chris,
J'espère que tu vas bien. Alors voici mon petit retour. Le lancement d'analyse VBA proposé par @Bernard_XLD monopolise Excel, du coup pas de possibilité de travailler sur Excel en parallèle et comme j'ai lancé une analyse qui a durée 9h hier, j'étais prise de court pour tester ton fichier.
Néanmoins dimanche, j'ai lancé un test pour voir ce que ça donnait.

Lancement de la requête recherche 5635 codes GTIN dans 3385 fichiers (j'ai hésité à faire la totale du premier coup 😅) =>1474 concordances retrouvées. Je pense que pour les codes manquants soit les fichiers ne sont pas tous en PDF (oui j'ai vu que j'avais du word / excel / parfois même des images :eek:) soit dans certains fichiers PDF le code GTIN est sous forme d'image ou j'ai vu également que certains codes GTIN commençait par un 0 avant la série de chiffres ou d'autres codes GTIN on des espaces à l'intérieur de la série.
En gros les PDF ne sont pas super propre. Ils ne sont pas tous du même format car plusieurs interlocuteurs différents.

Alors en terme de temps maintenant, pour faire cette analyse "la requête recherche 5959 codes GTIN dans 3385 fichiers" cela à pris entre 20 et 30 minutes (désolée je n'ai pas lancé le chrono :().

Après l'analyse VBA proposé par @Bernard_XLD , qui est en cours, je lancerai la tienne pour voir le timing sur la requête de recherche de 5635 codes GTIN dans les 8926 fichiers et cette fois-ci je mets le timer ;).

Je te tiens au courant @chris.
Merci à toi pour le suivi.
Lucie
Re @chris , @Bernard_XLD
Alors ça y est j'ai lancé l'analyse via PowerQuery sur la recherche de 5635 codes GTIN dans 8926 fichiers. Cela a abouti correctement au bout de 1h14min02s => 1474 concordances retrouvées (bizarre même résultat qu'hier alors qu'il y a carrément plus de fichiers ...).

Je vais lancer la 2nde analyse à partir du fichier VBA de @Bernard_XLD sur les 4463 fichiers restant et je vous ferai un retour comparatif des résultats donnés.
Merci à vous pour votre aide.
Lucie
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
315 093
Messages
2 116 132
Membres
112 667
dernier inscrit
foyoman