Afficher image suite choix liste déroulante

Fermé
DebutVBA Messages postés 1 Date d'inscription dimanche 29 mai 2011 Statut Membre Dernière intervention 29 mai 2011 - 29 mai 2011 à 01:57
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 30 mai 2011 à 10:05
Bonjour,

SVP m'aider pour affiche une image dans une cellule en fonction du choix dans une liste déroulante.
J'ai fait plusieurs recherches mais je n'y arrive pas ...( je débute en VBA )
La liste déroulante est dans la cellule B1 et en fonction du choix, je voudrais que l'image s'affiche dans la cellule C. (exemple fruit 1, image fruit 1; fruit 2 , image fruit 2 ...). Les images sont dans un répertoire sur le C :\
J'ai deux problématiques avec le code ci-joint :
1. Il affiche toutes les images indifféremment du choix (je ne sais pas écrire la condition pour afficher image 1 avec choix 1..)
2. Il n'affiche pas le code à l'intérieur de la cellule spécifiée, dans ce cas , la G1.
Merci beaucoup pour votre aide !
Toute suggestion serait très appréciée !

voici le code

If Target.Address = "$B$1" Then

With ActiveSheet

Set pic1 = .Pictures.Insert("C:\fruits\fruit1.jpg")
With pic1
.Name = "fruit1"
.Width = 100
.Height = 100
.Top = ActiveSheet.Range("G1").Top
.Left = ActiveSheet.Range("G1").Left
End With

Set pic2 = .Pictures.Insert("C:\fruits\fruit2.jpg")
With pic2
.Name = "fruit2"
.Width = 100
.Height = 100
.Top = ActiveSheet.Range("G1").Top
.Left = ActiveSheet.Range("G1").Left
End With

Set pic3 = .Pictures.Insert("C:\fruits\fruit3.jpg")
With pic3
.Name = "fruit3"
.Width = 100
.Height = 100
.Top = ActiveSheet.Range("G1").Top
.Left = ActiveSheet.Range("G1").Left
End With

End With

End If

End Sub
A voir également:

5 réponses

Raymond PENTIER Messages postés 58397 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 26 avril 2024 17 094
29 mai 2011 à 02:55
Avec VBA, je ne sais pas. Mais on peut le faire sans macro :

https://forums.commentcamarche.net/forum/affich-22176351-recherche-v-image#p22192392
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
29 mai 2011 à 07:50
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
Modifié par Mike-31 le 29/05/2011 à 10:12
Salut le fil,

Sans VBA sur le premier lien deux possibilités Feuil1 et Feuil3

https://www.cjoint.com/?AEyoyX79gze

sur ce deuxième lien affichage de texte en fonction du choix

https://www.cjoint.com/?AEyq30tAykW

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Bonjour,
Merci beaucoup à vous tous ! Ça fonctionne impeccablement.
J'aimerais avoir votre aide SVP pour une autre question.
Dans une liste déroulante, je choisi une période débutant le.... Et je dois afficher les journées des 2 semaines suivantes. Je récupère le jour de la période et j'incrémente de 1 dans la section des 14 jours. Sauf que, dans certains cas, si la période commence avec le 28 par exemple, il me faudrait une condition pour faire reconnaitre la fin du mois ( 30, 31 ou 28/29) et recommencer à 1.Toutes vos suggestions sont les bienvenues,

Merci beaucoup d'avance !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
30 mai 2011 à 10:05
Re,

Si tu affiches 28/2/11 par exemple en faisant cette date +1 cella t'incrémente automatiquement les dates suivantes

ou à partir d'une date exemple en A1, cette formule te donnera le dernier jour du mois

=DATE(ANNEE(A1);MOIS(A1)+1;0)

et si tu veux simplement exemple pour février en fonction de la date le dernier jour 28

=FIN.MOIS(A1;0)-(FIN.MOIS(A1;-1))

et tu formates la cellule en standard
0