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 :

Macro Excel : imprimer depuis Adobe Acrobat


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Technicien Méthode
    Inscrit en
    Mars 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien Méthode

    Informations forums :
    Inscription : Mars 2022
    Messages : 2
    Par défaut Macro Excel : imprimer depuis Adobe Acrobat
    Bonjour a tous,

    J'aimerais savoir s'il est possible, avec une macro Excel d'imprimer un fichier PDF depuis Adobe Acrobat

    Je m'explique, j'ai actuellement une macro qui ouvre un fichier PDF avec des zones remplissables, et la macro envoie des données dans ces zones. jusqu'à la tout est ok.

    Mais j'aimerais aller plus loin dans mon processus, c'est-à-dire ajouter à ma macro, la fonctionnalité d'imprimer le fichier PDF ouvert et rempli par ma macro sur Adobe Acrobat, pour pouvoir ensuite l'imprimer avec l'imprimante PDF Creator pour l'enregistrer dans un emplacement bien précis. (Je suis obligé d'imprimer mon PDF avec PDF Creator pour fusionner les zones remplissables de mon PDF de base).

    Je dispose du pack Office 365 et de Adobe Acrobat DC.

    Ci-dessous un morceau de ma macro qui ouvre et envoie des données sur un fichier PDF avec des zones remplissables.
    (Macro multi utilisateur d'où certaine ligne de recherche d'emplacement d'application adobe)
    Code : 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    Sub Macro-test()
     
        Dim gApp As Acrobat.CAcroApp, pdDoc As Acrobat.CAcroPDDoc, jso As Object
        Dim strSQL As String, OUTPUT As String, TITLE As String, newfile As String
        Dim txtGABARIT As String, FOLDER1 As String, FOLDER2 As String
        Dim dataArr
        Dim txtSTRUCTURE As String
        Dim retval
    Dim ARTICLE, STRUCTURE_1, PRIMITIF, PL, LG_TOTAL, REFERENCE As String
     
     
     
    Dim RepAcrobat As String
     
    RepAcrobat = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe"
        If FichierExiste(RepAcrobat) = True Then RepAcrobat = "C:\Program Files\Adobe\Acrobat DC\Acrobat": GoTo b:
    RepAcrobat = "C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\Acrobat.exe"
        If FichierExiste(RepAcrobat) = True Then RepAcrobat = "C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat": GoTo b:
    RepAcrobat = "C:\Program Files (x86)\Adobe\Acrobat 2015\Acrobat\Acrobat.exe"
        If FichierExiste(RepAcrobat) = True Then RepAcrobat = "C:\Program Files (x86)\Adobe\Acrobat 2015\Acrobat": GoTo b:
     
    b:
     
    nom = RepAcrobat & "\Acrobat.exe J:\repertorie\Plan PDF\" + Worksheets("Données").Range("f18").Text + ".pdf"
    nom2 = "J:\repertorie\Plan PDF\" + Worksheets("Données").Range("f18").Text + ".pdf"
     
     
       Dim MonApplication As Object
       Dim MonFichier As String
       Set MonApplication = CreateObject("Shell.Application")
     
       MonFichier = "J:\repertorie\Plan PDF\" + Worksheets("Données").Range("f18").Text + ".pdf"
     
       MonApplication.Open (MonFichier)
     
       Set MonApplication = Nothing
     
    ARTICLE = Sheets("Données").Range("A3").Text
    STRUCTURE_1 = Sheets("Données").Range("f12").Text
    PRIMITIF = Sheets("Données").Range("f14").Text
    PL = Sheets("Données").Range("f11").Text
    LG_TOTAL = Sheets("Données").Range("f10").Text
    REFERENCE = Sheets("Données").Range("b3").Text
     
    'donne une valeur suivant une cellule a un nom pour la macro
     
    Set gApp = CreateObject("AcroExch.App")
        Set pdDoc = CreateObject("AcroExch.PDDoc")
     
     
    pdDoc.Open (nom2)
    Set jso = pdDoc.GetJSObject
     
    jso.getField("CODE ARTICLE").Value = ARTICLE
    jso.getField("TYPE STRUCTURE 1").Value = STRUCTURE_1
    jso.getField("PRIMITIF").Value = PRIMITIF
    jso.getField("LG PL").Value = PL
    jso.getField("LG TOTAL").Value = LG_TOTAL
    jso.getField("REFERENCE").Value = REFERENCE
    On Error Resume Next
    'lie le nom de la macro défini précédemment avec le nom de la zone remplissable sur le fichier PDF
    Mon but final et de pouvoir envoyer les données sur mon fichier PDF et qu'il s'imprime/enregistre au bon endroit tout seul

    ps : Je suis un débutant en VBA

    Merci d'avance de votre temps

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Je ne connais pas cette bibliothèque, mais c'est là que tu dois chercher, soit sur gApp.Save ou quelquechose du genre, soit sur pdDoc.Save ou quelque chose du genre. Tu pourrais t'aider de l'explorateur d'objets (F2) en choisissant la bibliothèque de ton outil PDF.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Technicien Méthode
    Inscrit en
    Mars 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien Méthode

    Informations forums :
    Inscription : Mars 2022
    Messages : 2
    Par défaut
    Je vais chercher sur ces bibliothèque merci

    Sinon une macro qui ouvre un fichier PDF et qui l'imprime ? j'ai trouvé des morceaux de code sur different forum, mais qui ne fonctionne pas chez moi pour lancer l'impression (via la commande Shellexecute).

    Merci d'avance

Discussions similaires

  1. [XL-2010] Piloter Adobe Acrobat depuis VBA Excel
    Par dilou123 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/02/2014, 11h15
  2. [AC-2007] Lancer une macro Excel TCD depuis Access
    Par Benoit973 dans le forum Access
    Réponses: 1
    Dernier message: 07/08/2013, 23h05
  3. [XL-2007] Lancer une macro Excel 2007 depuis un fichier batch
    Par kedmard dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 30/03/2012, 16h06
  4. Macro Excel lancée depuis Acces
    Par Invité dans le forum Access
    Réponses: 4
    Dernier message: 18/01/2006, 14h25

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