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