Afficher image suite choix liste déroulante

DebutVBA Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   -
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


 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 315
 
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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
debutvba
 
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 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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