Remarque liminaire : je ne vois pas à quoi sert ton application.
Une signature est faire pour prouver l'engagement d'une personne sur un document.
Dans ton cas, n'importe qui peut mettre la signature concernée dans le document : il n'y a aucune preuve que celui qui a placé l'image de signature soit effectivement le signataire : il n'y a aucun code personnel, aucune vérification.
Donc ces signatures n'ont aucune valeur.
A mon avis, mettre simplement le nom des personnes désignées aurait autant de valeur et serait moins complexe.
Si tu n'as pas de budget pour mettre en place un vrai système de signature électronique, je ne conseille de voir avec Adobe Accrobat qui dispose d'un module de signature électronique. Il faut générer un fichier PDF et ensuite le signer électroniquement (avec un code personnel) en utilisant simplement Accrobat Reader.
Ca n'est pas parfait mais pour le prix, c'est déjà bien.
Je l'ai déjà mis en place dans certains services et ça fonctionne plutôt bien.
A l’heure actuelle, voici mon code :
1 2 3 4 5 6 7 8 9
| Sub Signature_1()
Range("AE13").Select
ActiveSheet.Pictures.Insert("C:\Users\Public\ signature.png").Select
End Sub
Sub Signature_2()
Range("AV13").Select
ActiveSheet.Pictures.Insert("C:\Users\Public\signature.png").Select
End Sub |
En fait, tu pourrais n'avoir qu'un seul bouton en utilisant la propriété Application.Username qui renvoie le nom de login de l'utilisateur :
https://docs.microsoft.com/fr-fr/off...ation.username
1 2 3 4 5 6 7 8 9 10 11
| Sub Signature()
Select Case UCase(Application.UserName)
Case "MARTIN", "MBELLA", "PARKER"
Range("AE13").Select
Case "STARK", "DUPONT", "PARSKY"
Range("AV13").Select
Case Else
Exit Sub
End Select
ActiveSheet.Pictures.Insert("C:\Users\Public\signature.png").Select
End Sub |
Le problème se trouve ici : Dès que B ouvre le document reçu, la signature de A est directement remplacée par la sienne sans même qu’il ne clique sur le bouton.
Je ne comprends pas comment ce phénomène peut se produire.
Essaye avec le code suivant :
ActiveSheet.Shapes.AddPicture "C:\Users\Public\signature.png", False, True, Selection.Top, Selection.Left, 100, 50
Normalement, dans ce code, le "False, True" devrait rompre le lien entre le fichier image et le fichier Excel et enregistrer l'image dans le fichier Excel.
Je te laisse ajuster toi-même les largeur et hauteur (les deux dernières valeurs de la ligne).
Lire ça : https://docs.microsoft.com/fr-fr/off...pes.addpicture
Partager