IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Pouvoir exporter des données d'un scan PDF (infos manuscrites) dans cellules excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Janvier 2024
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2024
    Messages : 3
    Par défaut Pouvoir exporter des données d'un scan PDF (infos manuscrites) dans cellules excel
    Bonjour,

    Je me permets de lancer une bouteille à la mer pour une problématique particulière. Je travaille sur les analyses de déclaration d'accidents de travail et j'ai besoin d'extraire un certain nombre d'informations des documents que j'ai en ma possession.

    Voici le formulaire CERFA qui m'arrive https://www.formulaires.service-publ...cerfa_12502.do

    Contrairement à ce formulaire, les informations sont "figées" (PDF) puisque ce sont les personnes concernées qui nous retournent ces infos complétées.

    Je reprends ce qui m'intéresse "à la main" pour remplir dans des cellules excel à des fins de stats/analyses (NOM, Prénom, date de naissance, date accident, circonstances...). C'est très chronophage au vu du nbre de déclaration que je reçois par semaine (plusieurs dizaines).

    Y aurait-il une possibilité, à partir de ces fichiers PDF scannés, de sélectionner les infos que je veux pour les mettre automatiquement dans des cellules excel ? Je précise que je suis un débutant ++++ dans tout ce qui est codage, programmation...

    Merci par avance pour votre retour,

    JB

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 678
    Par défaut
    Bonjour,

    pour être sûr de bien comprendre, reçois-tu un fichier PDF avec les données remplies ou bien un scan de document papier au format PDF ?

    La piste qui me vient en tête ici n'est pas du VBA, mais l'outil AI Builder dans la Power Platform, que tu pourras utiliser avec un flux Power Automate.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 179
    Par défaut
    Hello,
    si le PDF est un scan et en plus si le formulaire est rempli à la main (autant de style d'écriture que de personnes qui remplissent) il y a donc des images dedans et là il va falloir utiliser un logiciel de reconnaissance de caractères et là bon courage car le logiciel aura du mal à s'y retrouver avec tous les styles d'écriture).
    Par contre si le formulaire PDF est rempli de façon informatique et que ce sont les PDF remplis qui sont envoyés cela est jouable avec Acrobat Reader Pro ou avec une bibliothèque de lecture PDF.
    Exemple à partir de ce document PDF rempli :

    Nom : Cerfa6201.png
Affichages : 376
Taille : 203,2 Ko

    en utilisant l'assemblage dotnet itextsharp dans un module powershell de lecture PDF et grâce à ma dll qui permet d'intégrer PowerShell dans du VBA.
    Avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub LireInfosPDFPwsh()
    Dim Resultat
    Dim Pwsh As Object
    Set Pwsh = CreatePowerShellClass()
    Resultat = Pwsh.ExecuteCmd(" Import-Module -Name PDFForm;Get-PdfFieldNames -FilePath 'd:\temp\s6201_remplie.pdf' -ITextLibraryPath 'd:\tmp\itextsharp.dll' | Out-String")
    Debug.Print Resultat
    End Sub
    J'obtiens ceci :
    Key: nom organisme Value: Porcinou
    Key: adresse Value: 10 rue des porcins
    Key: adresse 2 Value: 75000 PARIS
    Key: code organisme Value: 123456789
    Key: nom Value: Pork
    Key: prénom Value: Jurassic
    Key: date naissance Value: 01021903
    Key: adresse victime Value: 25 rue de la préhistoire
    Key: code postal Value: 59000
    Key: num immat Value: 1035959595890
    Key: clé immat Value: 29
    Key: ident employeur Value: Cochonkiri S.A
    Key: adresse employeur Value: 43 rue des bêtises
    Key: code postal 2 Value: 59400
    Key: commune Value: LILLE
    Key: commune 2 Value: CAMBRAI
    Key: num SIRET Value: 23594939393939
    Key: gestion AT MP Value: Oui
    Key: date AT Value: 22042022
    Key: date rechute AT Value:
    Key: date MP Value:
    Key: date rechute MP Value:
    Key: lésion Value: bobo
    Key: siège lésion Value: sur l'oreille
    Key: num AT MP Value:

    Ami calmant, J.P

  4. #4
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Janvier 2024
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2024
    Messages : 3
    Par défaut
    Bonsoir

    Merci pour vos retours.
    Malheureusement ce sont des scans, et l'écriture est manuscrite en effet. Ça semble donc vouer a l'échec ma requête :/
    Tant pis, j'aurais essayé. Merci quand même !

  5. #5
    Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Janvier 2024
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2024
    Messages : 3
    Par défaut
    En fait je dis des bêtises, l'écriture est informatisée pour la majorité des fiches (très peu de manuscrite en fin de compte).

    Quant à savoir si c'est une fiche scannée ou si c'est le PDF source, je vais me renseigner.

    Par contre quand vous dites "en utilisant l'assemblage dotnet itextsharp dans un module powershell de lecture PDF et grâce à ma dll qui permet d'intégrer PowerShell dans du VBA.", ca reste du chinois pour moi.

    j'ai bien trouvé une application "windows powershell" sur mon pc mais je ne vois pas comment faire le lien avec mon lecteur PDF ?

    Quand je mets votre code dans l'appli, j'obtiens ceci

    Nom : Capture d’écran 2024-01-10 130356.png
Affichages : 312
Taille : 57,5 Ko

  6. #6
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 179
    Par défaut
    Hello,
    1 - Le code que j'ai mis c'est du VBA pas du powerShell. Il nécessite une dll qui n'est pas disponible pour l'instant et qui est déclaré comme ceci dans VBA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Declare PtrSafe Function CreatePowerShellClass Lib "D:\Tmp\ClassesCSharpJP.dll" () As Object
    2 - Le script Powershell c'est :
    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    Import-Module -Name PDFForm;Get-PdfFieldNames -FilePath 'd:\temp\s6201_remplie.pdf' -ITextLibraryPath 'd:\tmp\itextsharp.dll' | Out-String
    3 - Ce script nécessite qu'il y ait le module PDFForm (légérement modifié*) installé dans PowerShell et qu'il y ait l'assemblage dotnet itextsharp version 5.5.9 présent sur la machine.
    *
    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
        process
        {
            try
            {
                 $reader = New-Object iTextSharp.text.pdf.PdfReader -ArgumentList $FilePath
                 $fields = $reader.AcroFields.Fields
                 foreach ($f in $fields.Keys)
                     {
                            Write-Output("{0};{1}" -f $f,$reader.AcroFields.GetField($f.ToString()))
                     }
            }
            catch
            {
                $PSCmdlet.ThrowTerminatingError($_)
            }
        }

    Mais tout est faisable en VBA si on possède Acrobat Pro voir ici

    Ami calmant, J.P

Discussions similaires

  1. Export des formulaires de liste en PDF
    Par elkindjal dans le forum Développement Sharepoint
    Réponses: 5
    Dernier message: 05/03/2013, 22h54
  2. [XL-2010] Exporter des donnes automatiquement et tracer une courbe
    Par skrobar dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/04/2012, 16h26
  3. [PowerShell] Exporter des donnés d'un fichier CSV vers un autre
    Par Balrogard dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 13/12/2011, 09h19
  4. [AC-2003] Export des donnés avec images vers page web
    Par chernirachid dans le forum IHM
    Réponses: 3
    Dernier message: 26/10/2009, 11h31
  5. Exporter des donnes
    Par arti2004 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 07/04/2007, 20h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo