ITSkillsCenter
Bureautique & Productivité

Excel VBA : extraire les données d’une liste de PDF

3 min de lecture
Miniature - Excel VBA : extraire les données d'une liste de PDF

Transformer une pile de PDF en tableau Excel exploitable

Chaque mois, un service comptable reçoit des centaines de factures fournisseurs en PDF. Les saisir manuellement prend 5 minutes chacune, soit 8 heures pour 100 factures. Excel combiné à Power Query ou VBA peut automatiser l’extraction, avec un taux de réussite de 85-95 pour cent sur des PDF bien structurés.

Deux approches

Power Query : natif pour PDF texte, sans code. Limité aux PDF dont le texte est sélectionnable. VBA + API externe : pour PDF scannés (OCR nécessaire), via Tesseract local ou API cloud comme Claude Vision ou AWS Textract.

Méthode 1 : Power Query pour PDF texte

Données > Obtenir des données > À partir d’un fichier > À partir d’un PDF. Excel détecte chaque tableau et chaque page. Sélectionnez les tableaux pertinents. Appliquez les transformations habituelles Power Query : suppression de lignes parasites, renommage colonnes, typage.

Méthode 2 : dossier entier de PDF

Données > À partir d’un dossier, ciblez le dossier contenant les PDF. Excel liste les fichiers, vous cliquez Combiner et Transformer. Résultat : une table consolidée de toutes les factures.

VBA pour PDF non structurés

Sub ExtrairePDF()
    Dim chemin As String, fichier As String
    chemin = "C:\Factures\"
    fichier = Dir(chemin & "*.pdf")
    Do While fichier <> ""
        Dim texte As String
        texte = LireTextePDF(chemin & fichier)
        ' Extraire avec RegEx
        Dim montant As String, numero As String
        montant = ExtraireRegex(texte, "Total TTC[\s:]+([0-9\s]+,\d{2})")
        numero = ExtraireRegex(texte, "Facture N[°o]\s*(\w+)")
        ' Enregistrer dans la feuille
        EnregistrerLigne fichier, numero, montant
        fichier = Dir
    Loop
End Sub

La fonction LireTextePDF utilise la librairie Adobe Acrobat SDK ou, plus simple, l’outil pdftotext.exe de Poppler appelé via Shell.

Fonction RegEx réutilisable

Function ExtraireRegex(texte As String, pattern As String) As String
    Dim regex As Object
    Set regex = CreateObject("VBScript.RegExp")
    regex.Pattern = pattern
    regex.Global = False
    If regex.Test(texte) Then
        ExtraireRegex = regex.Execute(texte)(0).SubMatches(0)
    Else
        ExtraireRegex = ""
    End If
End Function

Méthode 3 : OCR via API Claude Vision

Pour les factures scannées de fournisseurs informels (très courant en Afrique), une IA multimodale lit directement le PDF :

Sub ExtraireViaClaude()
    Dim http As Object
    Set http = CreateObject("MSXML2.XMLHTTP")
    http.Open "POST", "https://api.anthropic.com/v1/messages", False
    http.setRequestHeader "x-api-key", "VOTRE_CLE"
    http.setRequestHeader "content-type", "application/json"
    http.setRequestHeader "anthropic-version", "2023-06-01"
    Dim body As String
    body = "{""model"":""claude-sonnet-4-6"",""max_tokens"":1024,""messages"":[{""role"":""user"",""content"":[{""type"":""document"",""source"":{""type"":""base64"",""media_type"":""application/pdf"",""data"":""" & Base64PDF & """}},{""type"":""text"",""text"":""Extraire : fournisseur, numéro facture, date, montant HT, TVA, montant TTC. Format JSON.""}]}]}"
    http.send body
    ' Parser la réponse
End Sub

Validation et contrôle

Toujours valider les extractions : somme des lignes = montant total, TVA = 18 pour cent du HT (au Sénégal), date cohérente. En cas d’anomalie, marquer pour révision manuelle.

Intégration comptable

Export final vers Sage, Ciel ou Odoo via CSV normalisé. Les comptes sont pré-mappés selon le fournisseur (plan comptable SYSCOHADA). Un comptable valide les anomalies seulement, gain de 80 pour cent sur le temps de saisie.

Conclusion

L’extraction automatique transforme la comptabilité fournisseurs d’une corvée répétitive en processus de contrôle ciblé. Investissement initial : 2 jours. Économies : quasiment continues. Approche hybride Power Query + VBA + IA = la formule gagnante en 2026.

Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité