Remplir formulaire PDF en VBA
Bonjour,
Je suis nouveau sur le site, je me présente donc dans mon premier post, je m'appele Anthony et je travaille pour une société aéronautique dans le cadre de mon alternance.
Je publie au sujet de ce post :
http://www.developpez.net/forums/d13...donnees-excel/
car il m'intéresse énormement dans le cadre d'un projet.
J'aimerai moi aussi remplir un formulaire à l'aide d'une macro VBA sous excel, mais je ne peut utiliser la solution de #Kiki car je ne possède qu'adobe Reader comme l'ensemble de mon entreprise.
Débutant en VBA, j'ai réussi à faire une bonne partie du chemin mais, après l'ouverture du formulaire à l'aide d'une macro VBA sous excel, je ne trouve pas de moyen de remplir mes zones que j'ai nommé ( Exemple: P/N, S/N, Numéro de commande,..)
Quelqu'un pourrait'il donc éclairer ma lanterne de débutant et peut être approfondir par la même occasion mes connaissances sous excel.
Cordialement,
Anthony31.
Erreur lors de l'écriture du PDF par des cellules contenant des chiffres
Bonjour à tous,
J'ai suivi les informations données par kiki29 et 90% 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:
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
| 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 |