Afficher image suite choix liste déroulante

DebutVBA Messages postés 1 Statut Membre -  
Mike-31 Messages postés 18405 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

5 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  2. 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
  3. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  4. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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