Insérer une image dans un Userform [Résolu/Fermé]

Messages postés
434
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
23 septembre 2018
- - Dernière réponse : RachelMartel
Messages postés
434
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
23 septembre 2018
- 3 juin 2017 à 15:09
Bonjour,

J'ai créé un userform. Lorsque j'ajoute un contrôle d'image, qu'il soit vide ou que j'y mette une image, j'ai une erreur en lançant le userform : Erreur d'exécution 438 Propriété ou méthode non gérée par cet objet.

Est-ce qu'on doit faire quelque chose de particulier pour l'insertion d'une image?

Je travaille avec Excel 2016.

Merci :)

Afficher la suite 

4 réponses

Messages postés
15981
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
20 novembre 2019
2824
0
Merci
Bonjour,

Le + sérieux et complet sur les contrôles d'un userform
http://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-K
RachelMartel
Messages postés
434
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
23 septembre 2018
19 -
Merci, j'avais vu cet article, mais ça ne répond pas à ma question malheureusement.
michel_m
Messages postés
15981
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
20 novembre 2019
2824 > RachelMartel
Messages postés
434
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
23 septembre 2018
-
???
sans voir le code....

si ca peut éventuellement t'aider, je peux t'envoyer une petite démo toute simple
RachelMartel
Messages postés
434
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
23 septembre 2018
19 -
Hé bien en fait, je croyais qu'on pouvait seulement ajouter un contrôle Image et choisir l'image dans la propriété Picture. Est-ce possible de fonctionner ainsi?
Messages postés
15981
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
20 novembre 2019
2824
0
Merci
Bonjour
ci joint petite démo

l'userform
https://mon-partage.fr/f/zMqdl04x/
prévu pour des photos au format JPG mais on peut mixer avec plusieurs formats (me faire signe)

le code de l'usf
Private Sub ComboBox1_Change()
photo = ThisWorkbook.Path & "\" & ComboBox1.Value & ".jpg"
If Dir(photo) = "" Then
Image1.Picture = LoadPicture("")
Else
Image1.Picture = LoadPicture(photo)
End If
End Sub

Private Sub UserForm_Initialize()
lig = 18
While Not IsEmpty(Cells(lig, 1))
ComboBox1.AddItem Cells(lig, 1)
lig = lig + 1
Wend
Image1.PictureSizeMode = fmPictureSizeModeZoom
End Sub


les photos doivent ^tre dans le m^me dossier que l'usf
tu remplaces ma liste ( A18:A24)par le nom de tes photos

en espèrant que ça aura été utile

 Michel
RachelMartel
Messages postés
434
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
23 septembre 2018
19 -
Il n'est pas possible de seulement insérer un contrôle Image et mettre l'image avec la propriété Picture?
michel_m
Messages postés
15981
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
20 novembre 2019
2824 > RachelMartel
Messages postés
434
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
23 septembre 2018
-
?????
RachelMartel
Messages postés
434
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
23 septembre 2018
19 -
Vous savez ce que je veux dire lorsque je parle de contrôle Image??
michel_m
Messages postés
15981
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
20 novembre 2019
2824 > RachelMartel
Messages postés
434
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
23 septembre 2018
-
bah oui! sinon, je n'aurais pas répondu à la demande....
RachelMartel
Messages postés
434
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
23 septembre 2018
19 -
Je ne comprends pas pourquoi vous proposez un code si la solution est seulement d'insérer un contrôle Image et ajouter l'image avec la propriété Picture.

J'ai trouvé pourquoi cette méthode ne fonctionne pas avec mon userform. C'est parce que j'ai un code qui redimensionne mon userform pour qu'il soit plein écran et ça semble incompatible avec le contrôle Image. Je devrai changer mon code pour que ça fonctionne.
Messages postés
6365
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
20 novembre 2019
412
0
Merci
Bonjour,

voir ceci:

http://www.homeandlearn.org/load_an_image_into_an_imagebox.html

avec la traduction:

Si vous deviez cliquer sur le bouton gris avec les trois points, vous verrez apparaître une boîte de dialogue vous permettant de choisir une image pour votre image.
Messages postés
434
Date d'inscription
mardi 14 mai 2013
Statut
Membre
Dernière intervention
23 septembre 2018
19
0
Merci
Voici donc la solution que j'ai trouvé pour mon problème.

J'avais ce code pour redimensionner l'userform en plein écran. J'avais un bug lorsque qu'on était rendu à redimensionner les contrôles Image. J'ai donc ajouté le "On Error Resume Next"

Dim ctl As Control
Dim ratiow As String
Dim ratioh As String

ratiow = Application.Width / Me.Width
ratioh = Application.Height / Me.Height
Me.Left = 0
Me.Top = 0
Me.Width = Application.Width
Me.Height = Application.Height
For Each ctl In Me.Controls
On Error Resume Next
ctl.Left = ctl.Left * ratiow
ctl.Top = ctl.Top * ratioh
ctl.Width = ctl.Width * ratiow
ctl.Height = ctl.Height * ratioh
ctl.FontSize = ctl.FontSize * ratioh
Next