VBA - Charger une image en fonction de la valeur d'une combobox [Résolu]

Messages postés
24
Date d'inscription
jeudi 4 août 2011
Dernière intervention
24 août 2011
- - Dernière réponse : Nat44200
Messages postés
24
Date d'inscription
jeudi 4 août 2011
Dernière intervention
24 août 2011
- 6 août 2011 à 14:37
Bonjour a tous,

Voici mon probleme (je suis dessus depuis de nombreuses heures ):
j'ai une combobox (ComboBox1) avec le nom de differentes villes. Je voudrais lorsque je choisi une ville dans la combobox , il y ai l'image de la ville qui apparaisse dans mon cadre image (Image1).

Les images ont excatement le meme nom que la ville.

Mes images se situent dans une feuille de mon Excel nomme "City".
Si cela est plus simple je peux mettre mes images dans un dossier sur mon disk C

Merci de votre aide
Afficher la suite 

Votre réponse

16 réponses

Meilleure réponse
Messages postés
94
Date d'inscription
vendredi 13 mai 2005
Dernière intervention
30 octobre 2011
3
Merci
Bonjour

Désolé, mais en relisant tes messages, je m'aperçois que ta combobox et ton image se situent dans une userform et non pas dans une sheet.

Je pense que ce code devrait mieux fonctionner:

Private Sub ComboBox1_Click()
Filename = ThisWorkbook.Path & "" & ComboBox1.Text & ".GIF"
Image5.AutoSize = True
Image5.Picture = LoadPicture(Filename)
End Sub

Tiens moi au courant, mais je pense être sur la bonne piste.

C'est vrai que la nuit porte conseil!!!

Merci cs_GG72 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_GG72
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Dernière intervention
27 août 2013
0
Merci
Bonjour,

Et qu'as tu donc essayé comme code?
Postes-le pour que les membres puissent le modifier et te conseiller

L'expérience, c'est une connerie par jour, mais jamais la même..
Commenter la réponse de lolokun
Messages postés
94
Date d'inscription
vendredi 13 mai 2005
Dernière intervention
30 octobre 2011
0
Merci
Bonjour,

Je pense que ce site peut t'aider.

http://boisgontierjacques.free.fr/pages_site/lesimages.htm#choixPhoto

Cordialement

Gérard
Commenter la réponse de cs_GG72
Messages postés
24
Date d'inscription
jeudi 4 août 2011
Dernière intervention
24 août 2011
0
Merci
Bonjour lolokun et Gerard,

merci pour vos reponses.

Desole c'est la premiere fois que je poste quelque chose sur un forum ! Donc je suis partie sur le meme code que pour charger un graphique en fonction de la valeur de la combobox. Car lorsque je choisi une valeur dans la combobox je doit faire apparaitre a la fois un graphique et une image de la ville (donc pour le graphique ca fonctionne a merveille mais pas pour l'image)

Private Sub ComboBox1_Change()
Set CurrentChart = Sheets("Graphic").ChartObjects(ComboBox1.Column(0)).Chart
Filename = ThisWorkbook.Path & "\temp2.gif"
CurrentChart.Export Filename:=Filename, FilterName:="GIF"
Image1.AutoSize = True
Image1.Picture = LoadPicture(Filename)
End sub

Sauf que a la place j'ai mis ca:

Private Sub ComboBox1_Change()
Set CurrentPicture = Sheets("City").ChartObjects(ComboBox1.Column(0)).Chart
Filename = ThisWorkbook.Path & "\temp3.gif"
CurrentCPicture.Export Filename:=Filename, FilterName:="GIF"
Image5.AutoSize = True
Image5.Picture = LoadPicture(Filename)
End sub

Gerard, j'ai teste le lien que tu m'a envoye mais je ne trouve pas la solution pour l'adapter a mon cas. En effet, tous mes elements ce situe dans un USF et non dans une sheet.

Merci de votre aide
Commenter la réponse de Nat44200
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Dernière intervention
27 août 2013
0
Merci
Bonjour,

As-tu juste essayé en ayant enregistré l'image sur ton disque dur?
Peut-etre s'agit t'il uniquement d'un pb de rafraichissement.

L'expérience, c'est une connerie par jour, mais jamais la même..
Commenter la réponse de lolokun
Messages postés
94
Date d'inscription
vendredi 13 mai 2005
Dernière intervention
30 octobre 2011
0
Merci
Rebonjour,

Dans ton code tu as mis CurrentCPicture au lieu de CurrentPicture.

Ceci dit, je pense qu'il doit avoir un autre problème dans ton code.
Mais lequel?

Je continue à chercher.
Commenter la réponse de cs_GG72
Messages postés
24
Date d'inscription
jeudi 4 août 2011
Dernière intervention
24 août 2011
0
Merci
Merci de votre reactivitee !!

Oui en effet, Gerard, j'ai oublie le C dans mon code mais ca ne fonctionnement pas non plus.

Donc, l'idee de lolokun me convient si vous pouvez me proposer un code (car pour le coup je n'ai aucune idee, je debute dans le VBA !!).
L'idee serait donc de dl les images stockees sur mon disk. Les images sont enregistrees dans le meme dossier que mon doc Excel et portent exactement le meme nom que les villes a selectionner dans ma combobox.
Le but serait donc de dl l'image dans le cadre Image5 de ma USF correspondant a la ville que j'ai selectionnee dans ma CommboBox1.

Merci beaucoup de votre aide !!!!!
Commenter la réponse de Nat44200
Messages postés
94
Date d'inscription
vendredi 13 mai 2005
Dernière intervention
30 octobre 2011
0
Merci
Ce code fonctionne chez moi, si j'ai bien compris ce que tu attendais.

Private Sub ComboBox1_Change()

Filename = ThisWorkbook.Path & "" & Sheets("City").ComboBox1.Column(0) & ".GIF"
Image5.AutoSize = True
Image5.Picture = LoadPicture(Filename)

End Sub

Tiens nous au courant

Cordialement
Commenter la réponse de cs_GG72
Messages postés
24
Date d'inscription
jeudi 4 août 2011
Dernière intervention
24 août 2011
0
Merci
Desole mais il ne fonctionne pas chez moi !

je l'ai inserer dans le code de ma combobox (sachant que j'ai deja le code pour faire apparaitre mon graphique).

Et il me mets
Run-time error '438' : Object doesn't suppport this property or method


rrrr,

Merci de votre aide
Commenter la réponse de Nat44200
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Dernière intervention
27 août 2013
0
Merci
Bonjour,

Je ne suis pas expert en vba, mais cette ligne-là ne devrait-elle pas être remplacée également:

Set CurrentPicture = Sheets("City").ChartObjects(ComboBox1.Column(0)).Chart

Ps : sinon as-tu essayé d'enregistrer le code grâce à l'enregistreur de maacros :
Tu fais la manipulation manuellement et ensuite tu adaptes le code obtenu avec tes variables

L'expérience, c'est une connerie par jour, mais jamais la même..
Commenter la réponse de lolokun
Messages postés
94
Date d'inscription
vendredi 13 mai 2005
Dernière intervention
30 octobre 2011
0
Merci
Peux-tu me dire sur quelle ligne ça bugue?

Essaies de remplacer
Filename = ThisWorkbook.Path & "" & Sheets("City").ComboBox1.Column(0) & ".GIF"
par
Filename = ThisWorkbook.Path & "" & Sheets("City").ComboBox1.Text & ".GIF"
Commenter la réponse de cs_GG72
Messages postés
24
Date d'inscription
jeudi 4 août 2011
Dernière intervention
24 août 2011
0
Merci
Desole de vous repondre si tard mais j'etait bien occupee avec mon travail !!!

Donc c'est bien cette ligne la qui ne fonctionne pas mais meme en testant vos differentes solutions j'ai toujours la meme erreur.

Je seche completement sur ce probleme. Et je ne vois pas comment le contourner.

Peut etre que vous auriez une solution a me proposer si je sauvegarde mes images dans le meme dossier que l'application excel et non sur une feuille de mon excel. Si vous avez la solution pour ca, ce sera parfait pour moi.

Merci en tout les cas de votre tenacite !!!
Commenter la réponse de Nat44200
Messages postés
94
Date d'inscription
vendredi 13 mai 2005
Dernière intervention
30 octobre 2011
0
Merci
Le code que je te proposais était justement prévu pour le cas où tes images étaient stockées sur ton disque dur dans le même dossier que ton appli.

C'est ce que j'avais compris suite à ton message de 10h32.
Commenter la réponse de cs_GG72
Messages postés
24
Date d'inscription
jeudi 4 août 2011
Dernière intervention
24 août 2011
0
Merci
Autant pour moi !

cependant meme en mettant les images dans le dossier de l'application ca ne fonctionne pas !!!

L'erreur est identique et sur la meme ligne !

Bonne soiree et merci de votre patience
Commenter la réponse de Nat44200
Messages postés
94
Date d'inscription
vendredi 13 mai 2005
Dernière intervention
30 octobre 2011
0
Merci
Pour ma part j'utilise Excel 2000.
Sur Excel 2000, il existe 2 types de Combobox.

Comment as-tu créé la tienne?
A partir de quelle barre d'outils?
Boite à outils Controles
ou
Formulaires

Cette combobox figure bien sur ta feuille nommée City?
Commenter la réponse de cs_GG72
Messages postés
24
Date d'inscription
jeudi 4 août 2011
Dernière intervention
24 août 2011
0
Merci
Bonjour,

en effet, je suis bien dans une USF !!!

Je viens de tester ta solution, Gerard, et ca marche tres bien. Je suis ravie car ca faisait plusieurs jours que j'etait dessus !!! J'ai juste change l’extension car mes images sont en jpg .

c'est la premiere fois que je participe a un forum et les personnes s'acharnent jusqu'a trouver une solution. Je trouve ca vraiment sympa !!

Merci beaucoup de votre aide a tous les 2 et peut etre a bientot pour une autre énigme
Commenter la réponse de Nat44200

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.