Convertir un fichier Excel en PDF et signé numériquement le PDF

Bonjour,

Je cherche à automatiser la signature d'un fichier PDF en partant d'un fichier Excel.

En gros je souhaite ouvrir un excel, cliquer sur un bouton, générer automatiquement le pdf, l'enregistrer, le signer numériquement et l'enregistrer dans un autre dossier.

J'ai récupéré des codes sur des forum mais il doit y avoir un problème dans mon utilisation de ceux-ci.

J'ai intégré ces code dans un module qui sera affecter à mon bouton

Ci dessous les codes

Sub SaveActiveSheetsAsPDF()

Dim saveLocation As String

saveLocation = "C:\Users\....\Signature pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=saveLocation

End Sub

Sub SignPDF()
1
On Error Resume Next

Dim Acro_App As Acrobat.AcroApp
Dim Acro_PDdoc As Acrobat.AcroPDDoc
Dim oJS As Object
Dim SGH_Ppklite As Object

Dim Signature_Coord() As Variant
Dim SignField As Object

Dim ppklite_login As Boolean

Dim Getsignfield As Object
Dim OinforArray() As String

Dim Signdone As Boolean

Const strFichier = "C:\Users\...\Signature pdf\A signer"
Const strFichierout = "C:\Users\...\Signature pdf\Signé"
Const strSignFName = "C:\Users\...\AppData\Roaming\Adobe\Acrobat\DC\Security\J..."
Const pass = "AAAA"


Signature_Coord = Array(0, 0, 0, 0) 'Emplacement de la signature, au cas d'espèce, la signature est invisible car Array(0, 0, 0, 0)

Set Acro_App = New Acrobat.AcroApp
Set Acro_PDdoc = New Acrobat.AcroPDDoc

If Acro_PDdoc.Open(strFichier) Then
Set oJS = Acro_PDdoc.GetJSObject
Set SGH_Ppklite = oJS.security.getHandler("Adobe.PPKLite", True)
Set SignField = oJS.AddField("MysignField", "signature", 0, Signature_Coord)
ppklite_login = SGH_Ppklite.login(pass, strSignFName)
If ppklite_login = False Then GoTo 2 'si le mot de passe est invalide alors la valeur renvoyée est fausse


'SGH_Ppklite.setPasswordTimeout pass, 300 'délai d'attente nécessaire pour l'intégration du mot de passe mais n'a aucun effet sur mon PC

Set Getsignfield = oJS.GetField("MysignField")
OinforArray = VBA.Split("", ",")
Signdone = Getsignfield.signatureSign(SGH_Ppklite, OinforArray, strFichierout) 'Valeur de type type booléen, doit renvoyer impérativement la valeur vrai pour insérer automatique la signature numérique
If Signdone = False Then GoTo 1 'reboucle car la valeur renvoyée est fausse

a.logout

End If

Set Z = Nothing
Set a = Nothing
Set si = Nothing
Set f = Nothing
Exit Sub
2
MsgBox "Le mot de passe que vous avez saisi n'est pas valide.", vbCritical, "Mot de passe valide requis" '
Exit Sub

End Sub

Est-ce que quelqu'un pourrait m'aider svp

Bonjour,

Ne serait-il pas plus simple de gérer la signature dans votre fichier EXCEL en utilisant le contrôle ActiveX InkPicture d'un formulaire ?

Rechercher des sujets similaires à "convertir fichier pdf signe numeriquement"