XL 2013 Creer controle Image avec un code

Noopy123

XLDnaute Junior
Bonjour,

J'aimerais créer un contrôle image dans un multipage par le clic d'un commandbutton.
J'ai essayer de trouver la réponse mais les seules propositions sont de le faire manuellement via le Boite a Outils et ce n'est pas ce que je veux faire ^^
Si quelqu'un a la solution je suis preneuse ^^
Merci par avance :)
 

patricktoulon

XLDnaute Barbatruc
bonjour
un exemple avec un bouton dans la page2 qui ajoute une image dans cette même page du multipage
VB:
Private Sub CommandButton1_Click()
With MultiPage1.page2
Set img = .Controls.Add("Forms.Image.1", "img", True)
With img
.Picture = LoadPicture("C:\Users\Public\Pictures\Sample Pictures\aaaa.jpg")
.Move 0, 0, 50, 50
End With
End With

End Sub
 

Noopy123

XLDnaute Junior
Bonjour Patricktoulon,

Merci beaucoup pour ton retour, ça marche nickel pour ce qui est de faire apparaître une image dans mon userform.
Le seul soucis est que l'image ajoutée disparaît quand j'ouvre mon userform une deuxième fois. Est-il possible d'enregistrer ce nouveau controle sur mon userform ?

Merci encore :)
 

patricktoulon

XLDnaute Barbatruc
re
en passant par designer oui mais c'est définitif et pas pendant le show donc par bouton walouh walouh!!!!
d'autant plus que je ne vois pas l’intérêt de faire ça dynamiquement avec un event bouton si c'est sensé rester même âpres le unload

quelque chose me dis que ta demande n'est pas représentative de ton besoins réel ;)
 

Noopy123

XLDnaute Junior
Oui justement j'aimerais que ce soit definitif ^^
En fait l'utilisateur va charger des images qui doivent rester dans l'userform. Le but de faire ça dynamiquement, est qu'en chargeant le chemin de son image, elle soit ensuite crée dans le userform. Comme je ne connais pas les images dont l'utilisateur aura besoin j'ai donc besoin de faire ça dynamiquement
 

Noopy123

XLDnaute Junior
Pour information , si ça peut aider, voila à quoi ressemble mon userform permettant de creer le chemin pour remplir mon control image
1591378102761.png


Sinon pour faire peut-être plus simple, est-ce qu'il est tout simplement possible de faire un copier coller de mon controle image présent dans cet userform et le collé dans un autre ?
 

dysorthographie

XLDnaute Accro
Bonjour,
Ce que tu veux c'est changer le logo de la société par exemple ?
Si c'est le cas je t'invite à choisir via VBA ton image la convertir en base 64 et l'enregistrer dans la cellule d'un onglet de configuration !
Et au chargement de ton Userform la charger en tant qu'image!

Par défaut EXCEL interdit la modification du projet vbe , il faut donc les droits administrateur pour faire ce que tu veux faire. Si c'est pour des clients pas sur qu'il autorise ce genre de pratique peux de sociétés l'accepte!
 

Noopy123

XLDnaute Junior
Bonjour,
Ce que tu veux c'est changer le logo de la société par exemple ?
Si c'est le cas je t'invite à choisir via VBA ton image la convertir en base 64 et l'enregistrer dans la cellule d'un onglet de configuration !
Et au chargement de ton Userform la charger en tant qu'image!

Par défaut EXCEL interdit la modification du projet vbe , il faut donc les droits administrateur pour faire ce que tu veux faire. Si c'est pour des clients pas sur qu'il autorise ce genre de pratique peux de sociétés l'accepte!


Bonjour dysorthographie,

Le but est de créer un base de donnée d'image de produits. Donc le but est que chacun puisse ajouter les photos dont il a besoin pour travailler
 

Noopy123

XLDnaute Junior
Bonjour à vous,

Je viens de trouver un code qui correspond a ce que j'aimerais faire. J'arrive a creer un controle image permanent dans mon userform. Sauf que je n'arrive pas à trouver l'astuce pour le mettre dans mon multipage
VB:
Sub AddBouton()
Dim Usf As Object, btn As Object
i = i + 1
Set Usf = ThisWorkbook.VBProject.VBComponents("Userform1")
Set btn = Usf.Designer.Controls.Add("forms.image.1")
With btn
.Left = 90: .Top = 50
End With

VBA.UserForms.Add (Usf.Name)
UserForms(UserForms.Count - 1).Show
End Sub

Je vous ai mis le fichier ci-joint avec le nouveau code trouver, si jamais vous avez l'astuce ;)
 

Pièces jointes

  • Classeur2.xlsm
    28.5 KB · Affichages: 9

patricktoulon

XLDnaute Barbatruc
re
re bonjour Noopy123

coucou robert ;)
tu ne peux pas ajouter et conserver un control en mode show du userform il me semble te l'avoir déjà dit
il te faut laisser un control image vide dans le userform et pour ajouter enregistrer en base 64 dans une feuille pour la réutiliser ensuite avec la methode B64 inverse tu trouvera cela ici
 

Noopy123

XLDnaute Junior
Je ne comprends pas vraiment le principe du "base 64" malheureusement :/ (j'ai regardé ton post mais pas plus compris sur le principe ^^)

En tout cas, suite au code ci-dessus, j'arrive à charger correctement mon image dans le contrôle image créé ... il correspond tout à fait à ce que je veux faire sauf l'emplacement du contrôle image qui n'est pas dans mon multipages :/
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87