Bonjour à tous,

J'ai suivi les informations données par kiki29 dans la discussion "Remplissage formulaire PDF en VBA" mais j'ai des erreurs...

Le code fonctionne parfaitement lorsque je remplis les champs de mon fichier pdf par des cellules Excel contenant du texte.
Cependant, dès lors que je pointe sur des cellules Excel contenant des valeurs numériques, j'ai l'erreur suivante qui s'affiche: « argument ou appel de procédure incorrecte ».

Ci-dessous mon code pour être plus précis :
(PS, les lignes de code qui me remonte l'erreur sont en commentaire ci-dessous)

Merci d'avance

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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
 
 
Option Explicit
 
Sub SAVE_NDF_1()
'
' SAVE_NDF_1 Macro
' Sauvegarde NDF#1 en PDF
'
Dim nomfichierRECU As String '' nom de variable récupérant le chemin du fichier Reçu Fiscal PDF
Dim AVDoc As Object '' VAR pour ecrire dans Reçu Fiscal PDF
Dim sChemin As String '' VAR pour ecrire dans Reçu Fiscal PDF
Dim PDDoc As Object '' VAR pour ecrire dans Reçu Fiscal PDF
Dim JSO As Object '' VAR pour ecrire dans Reçu Fiscal PDF
 
 
' Stop rafraichissement ecran
Application.ScreenUpdating = False
 
' Boite de dialogue
msgbox "Cette operation peut prendre plusieurs minutes."
 
' Selection onglet
Sheets("NDF 1").Select
 
 
 
'''''''''' Ecriture du reçu fiscal en PDF + sauvegarde
 
Set AVDoc = CreateObject("AcroExch.AVDoc")
sChemin = ThisWorkbook.Path & "\" & "Reçu_fiscal_ELECTROSMILE_Vierge.pdf"
 
If AVDoc.Open(sChemin, "") Then
Set PDDoc = AVDoc.GetPDDoc
Set JSO = PDDoc.GetJSObject
 
''' get the information from the form fields
'JSO.getField("Numb").Value = Sheets("Configuration et Mode d'emploi").Cells(37, 1).Value
JSO.getField("Nom").Value = Sheets("Configuration et Mode d'emploi").Cells(6, 2).Value
JSO.getField("Prenom").Value = Sheets("Configuration et Mode d'emploi").Cells(7, 2).Value
JSO.getField("Adresse").Value = Sheets("Configuration et Mode d'emploi").Cells(8, 2).Value
'JSO.getField("Code Postal").Value = Sheets("Configuration et Mode d'emploi").Cells(9, 2).Value
JSO.getField("Commune").Value = Sheets("Configuration et Mode d'emploi").Cells(10, 2).Value
JSO.getField("Montant").Value = Sheets("NDF 1").Cells(25, 5).Value
JSO.getField("Montantlettres").Value = Sheets("NDF 1").Cells(35, 1).Value
'JSO.getField("Z36").Value = Sheets("NDF 1").Cells(36, 1).Value
'JSO.getField("Z37").Value = Sheets("NDF 1").Cells(36, 2).Value
'JSO.getField("Z38").Value = Sheets("NDF 1").Cells(36, 3).Value
'JSO.getField("Z52").Value = Sheets("NDF 1").Cells(36, 1).Value
'JSO.getField("Z53").Value = Sheets("NDF 1").Cells(36, 2).Value
'JSO.getField("Z54").Value = Sheets("NDF 1").Cells(36, 3).Value
 
' Definition du nom du fichier
Sheets("NDF 1").Select
nomfichierRECU = ActiveSheet.Range("A34")
 
' Sauvegarde du fichier
PDDoc.Save 1, ThisWorkbook.Path & "\" & nomfichierRECU
 
PDDoc.Close
Set JSO = Nothing
Set PDDoc = Nothing
 
End If
 
Set AVDoc = Nothing
 
 
'''' Fin Ecriture du reçu fiscal en PDF + sauvegarde
 
 
' Selection onglet maitre
Sheets("Liste NDF General").Select
 
' Reactiver rafraichissement ecran
Application.ScreenUpdating = True
 
' Boite de dialogue
msgbox "Sauvegarde effectuee ici :" & vbNewLine & ThisWorkbook.Path
 
End Sub