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
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
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 ?
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
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
Pour information , si ça peut aider, voila à quoi ressemble mon userform permettant de creer le chemin pour remplir mon control image
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 ?
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,
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!
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
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
pour reprendre l'idée de Silkyroad( stocker et visionner des images en binaire dans un classeur son classeur fonctionnant très bien mais étant limité par les tailles des images quasi impossible avec des jpeg de
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 :/