Microsoft 365 Image stockée dans une feuille à l'initialisation du userform

meyscal

XLDnaute Occasionnel
Bonjour à tous,

j'aimerais savoir s'il était possible selon vous d'afficher une image dans un ctrl image d'un userform à l'initailisation.
L'image à la base n'existe pas, j'ai un bouton qui permet de la charger et de la coller dans une plage de cellules fusionnées en adaptant à la forme de la sélection.

J'ai réussi à bidouiller pour que mon image soit affichée dans le ctrl image lors de son insertion mais ensuite elle n'est plus visible.
Ce que j'aimerais c'est qu'elle y reste.

Voilà comment je vois les choses :

1. j'insère une image en cliquant un bouton que je renomme "Signature-bénéficiaire.jpg" = juste une image blanche avec écrit "EXEMPLE"
2. cette image est affichée dans UF dans le ctrl image
3. lors de l'insertion de l'image par l'utilisateur cette image "EXEMPLE" (qui s'appelle donc "Signature-bénéficiaire.jpg") est supprimée et remplacée par la signature avec le même nom
4. celle-ci (la signature) se retrouve donc affichée dans le ctrl image à la place de l'autre

Pour info dans ma feuille j'ai des OptionButton (x6) et des CheckBox (x3) + une image pour l'en-tête du document. Ceux-ci étant considérés comme des objects également, la nouvelle image insérée sera en 11ème position.

Voici mon code pour l'instant et merci par avance !

PS : je sais qu'il n'est pas souhaitable de mettre des images dans un Excel mais il n'y en aura pas des tonnes. 4 signatures sous forme d'images (selon fonction) + 1 pour l'en-tête.

VB:
Private Sub CommandButton12_Click()
Sheets("Document").Range("J50:L53").Select
Dim ficimg As String, Ad As String
Ad = Selection.Address
MsgBox ("L'image doit être au format JPG"), vbOKOnly, ("ATTENTION !")
ficimg = Application.GetOpenFilename(".jpg,*.jpg", , "Choisissez l'image") ' choix nom du fichier
If ficimg = "Faux" Then Exit Sub
Me.chemin = ficimg
Me.Image7.PictureSizeMode = fmPictureSizeModeZoom
Me.Image7.Picture = LoadPicture(ficimg)
Set Image = ActiveSheet.Shapes.AddPicture(ficimg, False, True, ActiveCell.Left, ActiveCell.Top, Range(Ad).Width, Range(Ad).Height)
With Image
.LockAspectRatio = False ' proportions d'origine lorsque vous la redimensionnez
.Placement = xlMoveAndSize
End With
Selection.Name = "Signature_bénéficiaire"
Me.Label5.Visible = True
Me.Label4.Visible = True
End Sub
 
Solution
Ici, c'est un peu plus mieux
VB:
Private Sub CommandButton1_Click()
Noms = Array("toto", "titi")
vQui = InputBox("Identification du Signataire?")
vSig = Application.Match(vQui, Noms, 0)
If Not IsError(vSig) Then
Label1.Picture = Array(Image1.Picture, Image2.Picture)(vSig - 1)
Else
MsgBox "Vous n'êtes pas autorisé à signer ce document!", vbCritical
Exit Sub
End If
End Sub

Staple1600

XLDnaute Barbatruc
Re

Faut pas chatouiller la Présidente à ce que je vois :rolleyes:
Je viens ici pour aider ceux qui demande de l'aide tout en gardant ma liberté de ton et mon humour.

Sinon pas de débat en vue , rien que du factuel
1) tu as écris
Chaque bénéficiaire aura son propre programme qui abritera uniquement sa signature.
2) tu as aussi écris
Les autres signataires auront un bouton dans leur accès avec mdp

Pour moi le 1) et le 2) sont contradictoires, non ?

Si je possède mon propre programme, c'est que je suis le seul à y accéder, non ?
Par conséquent quid de cette histoire de mot de passe ?

On veut éviter que des filous puissent récupérer les signatures des personnes décisionnaires et passent directement par la Trésorerie qui ne fait que mettre en place les virements une fois que les signatures sont sur le document.
Excel n'a jamais éviter les filous
(Au contraire, il laisse les clés sur les contact, à cause de son VBA entre autre)

Pour revenir à ta question initiale
D'un autre côté le mdp sera demandé à la validation/extraction du doc donc ça s'apparente à une signature électronique et ça garantit que la personne en a bien fait la demande.
Euh le mot de passe étant accessible en clair dans le code VBA, je n'assimilerai pas cela à une signature électronique.

Par contre investir dans Acrobat DC, qui permet de produit des PDF certifiés et signés, ce serait déjà plus secure.
 

meyscal

XLDnaute Occasionnel
Re

Faut pas chatouiller la Présidente à ce que je vois :rolleyes:
Je viens ici pour aider ceux qui demande de l'aide tout en gardant ma liberté de ton et mon humour.

Sinon pas de débat en vue , rien que du factuel
1) tu as écris
Chaque bénéficiaire aura son propre programme qui abritera uniquement sa signature.
2) tu as aussi écris
Les autres signataires auront un bouton dans leur accès avec mdp

Pour moi le 1) et le 2) sont contradictoires, non ?

Si je possède mon propre programme, c'est que je suis le seul à y accéder, non ?
Par conséquent quid de cette histoire de mot de passe ?


Excel n'a jamais éviter les filous
(Au contraire, il laisse les clés sur les contact, à cause de son VBA entre autre)

Pour revenir à ta question initiale

Euh le mot de passe étant accessible en clair dans le code VBA, je n'assimilerai pas cela à une signature électronique.

Par contre investir dans Acrobat DC, qui permet de produit des PDF certifiés et signés, ce serait déjà plus secure.
Bah la présidente est la responsable derrière tout ça donc à partir de là ça me sert à quoi de faire qqch dont elle ne veut pas et qui risquerait même de la mettre en porte à faux ?
Points 1 et 2 : cela concerne mon autre demande, le fichier est enregistré en local avec mot de passe à l'ouverture et doit être envoyé au représentant du lieu d'accueil qui signe et qui transmet ...
Voilà donc plus sécurisé qu'avec un bouton chacun charge sa signature à chaque fois sur son PC propre ...
Le demandeur (bénéficiaire) lui clique sur un bouton qui a plusieurs actions : création du PDF pour lui-même + le fichier comme dit qu'il transmet (mon autre demande) + remise à 0 de toutes les données enregistrées.

Bon j'ai bien compris que la façon de faire ne te convenait pas mais comme dit ça c'est notre sauce interne. Ce qui me préoccupe là maintenant tout de suite c'est d'avancer et si c'est possible avec de l'aide.
Du coup qqun peut-il m'apporter l'aide dont j'ai besoin ?
 

Staple1600

XLDnaute Barbatruc
Re

@meyscal
On se fout de savoir si ta méthode me convient ou pas

Simplement, j'utilise Excel depuis 1991 donc je pense pratiquer cet outil depuis assez longtemps pour te conseiller sur le meilleur usage de cet outil.
(Et en l'occurrence Excel et sécurité, c'est un non-sens, encore plus quand il s'agit de finances)

Que sont les codes VBA que j'ai posté si ce n'est de l'aide ?

Concernant le VBA justement, tu as ce qu'il te faut non ?
Ton code initial
Mes suggestions et exemples
(ou j'ai indiqué que les images restaient dans les contrôles Images)
 

meyscal

XLDnaute Occasionnel
Re

@meyscal
On se fout de savoir si ta méthode me convient ou pas

Simplement, j'utilise Excel depuis 1991 donc je pense pratiquer cet outil depuis assez longtemps pour te conseiller sur le meilleur usage de cet outil.
(Et en l'occurrence Excel et sécurité, c'est un non-sens, encore plus quand il s'agit de finances)

Que sont les codes VBA que j'ai posté si ce n'est de l'aide ?

Concernant le VBA justement, tu as ce qu'il te faut non ?
Ton code initial
Mes suggestions et exemples
(ou j'ai indiqué que les images restaient dans les contrôles Images)
Ok @Staple1600
En 2025 on passera sur Asso connect et en attendant on modernise déjà le système.
La priorité là tout de suite est de simplifier les tâches administratives en les informatisant. Nos administrateurs sont épuisés ... je suppose que c'est la rançon de la gloire !
Comme dit à maintes reprises, la sécurité bien qu'illusoire est là pour convaincre les plus sceptiques.
Donc oui merci pour les conseils mais ce n'est pas le sujet, puis si on se fout effectivement de la méthode, alors ne perdons plus de temps à en discuter.
Merci également pour les exemples.
Bonne soirée
 

meyscal

XLDnaute Occasionnel
Re

@meyscal
Donc comme je le disais
Tu as déjà le code VBA pour insérer une image
(cf message#1)
Tu as mes exemples (donc tu feras ce que tu voudras)

Question:
Que reste-il à régler "vbastiquement" parlant ?
Pour ce sujet ci je le passe en résolu et t'en remercie
Reste encore l'autre sujet où je n'i pas encore testé et que je laisse donc ouvert pour le moment.
Bonne soirée
 

Discussions similaires

Statistiques des forums

Discussions
313 192
Messages
2 096 070
Membres
106 486
dernier inscrit
Barklem