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

VBA Access Discussion :

Lire un pdf depuis vba - Access


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 102
    Par défaut Lire un pdf depuis vba - Access
    Salut à tous,

    Après presque 2 h de recherches infructueuses (et peut-être un manque de compétence), je me permets de poser la question ici:

    Je souhaiterai ouvrir un pdf via mon code Access puis le parcourir et extraire certaines chaines de caractères.

    Il s'agit d'un état comptable bien structuré, le genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     *** 61200298         ***    800,00 ***    250,00 ***
    Retrouver et travailler les chaines de caractère via des left, mid ou right, ça devrait aller. J'imagine aussi qu'il faut que je fasse une chaine "do until qqchose.EOF".


    Mais comment récupérer le fichier pdf? Comment le lire?

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 6
    Par défaut
    Bonjour,

    Après avoir cherché pas mal de temps j'ai trouvé cette solution qui me permet d'ouvrir un PDF.

    Avec sFichier le chemin de ton PDF et numPage le nombre de page de ton PDF.

    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub OuvrirPDF(ByVal sFichier As String, numPage As Long)
    Dim WshShell As Object, PDFExec As Object
    Dim CheminReader As String, CheminPDF As String
     
        CheminReader = "C:\Program Files (x86)\Adobe\Reader 11.0\Reader\acrord32.exe"
        CheminPDF = Chr(34) & sFichier & Chr(34)
     
        Set WshShell = CreateObject("WScript.Shell")
     
        Set PDFExec = WshShell.Exec(CheminReader & " /a page=" & numPage & "=OpenActions " & CheminPDF)
     
        Set PDFExec = Nothing
        Set WshShell = Nothing
     
    End Sub

    Bon courage pour la suite...

  3. #3
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Bonjour à vous deux,

    Le code de Fred est très pratique pour ouvrir un pdf à la bonne page… quand on connaît déjà son N°.

    -------------
    Jette un œil à cette adresse :
    http://www.developpez.net/forums/d43...pro-pdfcreator
    tu trouveras un tas de bonnes idées pour traiter des pdf.

    -------------
    Je ne suis pas encore parvenu à traiter le texte d’un pdf directement en Access (comme on peut le faire avec un fichier Word), par contre tu trouveras ici :
    http://www.developpez.net/forums/d15...s/#post8188367

    une proposition qui consiste à procéder en deux temps, mais en un clic :
    - ouvrir le fichier PDF et copier son contenu dans le presse-papiers ;
    - copier le presse-papiers dans un .doc(x) pour le manipuler avec Access.

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 128
    Par défaut
    Bonjour,

    La plupart des comptabilités proposent un export texte ou excel. Le contenu d'un pdf est codé, on ne peut donc pas le parcourir directement je pense mais seulement à travers une API dédiée comme celles fournies avec Acrobat (la version payante, pas le reader gratuit)


    Edit : je viens de lire le post de Claude ci-dessus qui dit pareil et explique brillamment comment contourner le problème !

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 102
    Par défaut
    Merci beaucoup!

    Je suis en formation pendant quelques jours, je me penche sur tout ce que vous m'avez fourni comme éléments dès jeudi de la semaine prochaine!

    En tt cas merci bien!

Discussions similaires

  1. Rechercher une valeur dans fichier Excel depuis VBA Access
    Par tribaleur dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/07/2008, 14h10
  2. Envoi de mail depuis VBA access
    Par pev15 dans le forum VBA Access
    Réponses: 26
    Dernier message: 09/06/2008, 11h52
  3. Réponses: 2
    Dernier message: 03/10/2007, 07h09
  4. Tracé graphique sur fichier excel depuis vba access
    Par kdestine dans le forum VBA Access
    Réponses: 0
    Dernier message: 26/09/2007, 12h37
  5. envoyer un mail depuis VBA access
    Par romrai dans le forum Access
    Réponses: 10
    Dernier message: 06/03/2006, 13h51

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