Comment extraire des données spécifiques d'un PDF vers Excel en utilisant VBA

  • Partage Ça
Hugh West

L'un des problèmes courants auxquels la plupart d'entre nous sont confrontés dans notre vie quotidienne est de savoir comment extraire certaines données spécifiques d'une PDF vers une feuille de calcul Excel en utilisant VBA Dans cet article, je vous montrerai comment y parvenir confortablement à l'aide d'exemples et d'illustrations appropriés.

Extraire des données spécifiques d'un PDF vers Excel en utilisant VBA (Quick View)

 Sub Extract_Data_from_PDF() Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" PDF_Path = "E:\ExcelWIKI\standardnormaltable.pdf" Shell_Path = Application_Path & ; " """ & ; PDF_Path & ; """" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus) Application.Wait Now + TimeValue("0:00:03") SendKeys "%vpc"SendKeys "^a" SendKeys "^c" MyWorksheet.Range("A1").PasteSpecial Paste:=xlPasteAll Call Shell("TaskKill /F /IM Acrobat.exe", vbHide) End Sub 

Télécharger le cahier d'exercices

Téléchargez ce cahier d'exercices pour vous entraîner pendant que vous lisez cet article.

Extraire des données de PDF.xlsm

Une vue d'ensemble pour extraire des données spécifiques d'un PDF vers Excel en utilisant VBA (analyse étape par étape)

Donc, sans plus attendre, passons à notre discussion principale d'aujourd'hui. Nous avons ici un PDF appelé standardnormaltable.pdf qui contient un tableau de la distribution normale.

Et nous avons ouvert une feuille de travail appelée Feuille 1 dans un classeur Excel où nous copierons les données de l'application PDF fichier.

Maintenant, je vais vous montrer que vous pouvez copier les données de l' PDF à la feuille de calcul Excel par une analyse étape par étape.

⧪ Étape 1 : Déclarer les entrées nécessaires

Tout d'abord, vous devez déclarer les entrées nécessaires, à savoir le nom de la feuille de calcul, la plage de cellules, l'emplacement de l'application par laquelle l'opération est effectuée. PDF sera ouvert ( Adobe Reader dans cet exemple), et l'emplacement de l'élément PDF fichier.

 Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" PDF_Path = "E:\ExcelWIKI\standardnormaltable" 

⧪ Étape 2 : ouverture du fichier PDF (à l'aide de la commande Shell VBA)

Ensuite, nous devons appeler le VBA Fonction de l'enveloppe pour ouvrir le PDF fichier.

 Shell_Path = Application_Path & ; " """ & ; PDF_Path & ; """" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus) 

⧪ Étape 3 (facultative) : attendre quelques instants

Cette option est facultative, mais lorsque vous avez une longue série de tâches, il est préférable d'attendre quelques instants pour permettre à votre ordinateur de terminer avec succès la tâche précédente et de commencer une nouvelle tâche.

 Application.Wait Now + TimeValue("0:00:03") 

Ici, nous attendons 30 secondes. Mais si vous voulez, vous pouvez attendre plus longtemps.

⧪ Étape 4 : Utilisation de SendKeys pour copier les données du fichier PDF

Il s'agit probablement de la tâche la plus importante, nous allons utiliser 3 SendKeys :

  • ALT + V, P, C : Il s'agit principalement d'activer le défilement dans l'interface de l'utilisateur. PDF Pour les petits fichiers, ce n'est pas nécessaire, mais pour les gros fichiers, cela devient nécessaire pour sélectionner l'ensemble du fichier.
  • CTRL + A : Il s'agit de sélectionner l'ensemble du fichier.
  • CTRL + C : Pour copier le fichier sélectionné.

Par conséquent, les lignes de code seront :

 SendKeys "%vpc" SendKeys "^a" SendKeys "^c" 

⧪ Étape 5 : Collage des données dans le fichier Excel

Nous avons ouvert le dossier spécifique PDF Nous devons maintenant coller ces données dans la plage souhaitée de la feuille de calcul.

 MyWorksheet.Range("A1").PasteSpecial Paste:=xlPasteAll 

Ici, j'ai collé dans la cellule A1 Bien sûr, vous pouvez le coller n'importe où ailleurs, selon vos besoins.

⧪ Étape 6 (facultative) : fermeture du fichier PDF (fin de l'application)

Enfin, il est préférable de fermer le programme en cours après avoir terminé l'extraction des données.

 Appelez Shell("TaskKill /F /IM Acrobat.exe", vbHide) 

Lire la suite : Comment extraire les données d'un PDF vers Excel (4 méthodes efficaces)

Lectures similaires

  • Comment exporter les données d'un PDF remplissable vers Excel (avec des étapes rapides)
  • Comment exporter des commentaires PDF dans une feuille de calcul Excel (3 astuces rapides)

Exemple d'extraction de données spécifiques d'un PDF vers Excel à l'aide de VBA

Nous avons vu la procédure étape par étape pour extraire les données d'une PDF vers une feuille de calcul Excel en utilisant VBA .

Par conséquent, l'ensemble VBA pour extraire les données du PDF appelé standardnormalaltable à Feuille 1 le sera :

Code VBA :

 Sub Extract_Data_from_PDF() Set MyWorksheet = ActiveWorkbook.Worksheets("Sheet1") Application_Path = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" PDF_Path = "E:\ExcelWIKI\standardnormaltable.pdf" Shell_Path = Application_Path & ; " """ & ; PDF_Path & ; """" Call Shell(pathname:=Shell_Path, windowstyle:=vbNormalFocus) Application.Wait Now + TimeValue("0:00:03") SendKeys "%vpc"SendKeys "^a" SendKeys "^c" MyWorksheet.Range("A1").PasteSpecial Paste:=xlPasteAll Call Shell("TaskKill /F /IM Acrobat.exe", vbHide) End Sub 

Sortie :

Exécutez ce code. Et il copiera les données de l'écran PDF appelé "standardnormaltable" à la feuille de calcul appelée "Feuille 1" dans le classeur actif.

Lire la suite : Comment extraire les données de plusieurs fichiers PDF vers Excel (3 méthodes adaptées)

Les choses à retenir

  • Le classeur dans lequel vous allez copier les données de l'application PDF doit rester ouvert pendant l'exécution du code, sinon vous devrez utiliser le nom du classeur dans le code.
  • Le nom de l'application que vous utilisez dans le code ( Adobe Acrobat DC ici) doit être installé sur votre ordinateur, sinon vous recevrez une erreur.
  • Pour les grands ensembles de données de PDF le processus peut prendre un certain temps pour copier toutes les données et les coller. Soyez donc patient et attendez que le processus se termine avec succès.

Conclusion

Il s'agit donc du processus permettant d'extraire certaines données spécifiques d'une PDF vers une feuille de calcul Excel en utilisant VBA Vous avez des questions ? N'hésitez pas à nous les poser. Et n'oubliez pas de visiter notre site. ExcelWIKI pour plus d'articles et de mises à jour.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.