Autres AFFICHER IMAGES SELON LEURS NOMS

chaelie2015

XLDnaute Accro
Bonjour Forum
ci dessous, dans la cellule A1 une liste déroulante qui contient des noms des images; je souhaite afficher une image selon son nom
exemple : des images nommées "TOTO", "TITI",TATA" ...etc
dans la cellule A1 j'ai une liste déroulante "TOTO", "TITI",TATA"
je souhaiterai généraliser ce code.
If UCase(Range("A1")) = "TOTO" Then
Shapes("TOTO").Visible = True
Else
Shapes("TOTO").Visible = False
End If
Salutations
 

chaelie2015

XLDnaute Accro
Re
après une recherche j'ai trouvé ce code

Private Sub Worksheet_Change(ByVal Target As Range)

For Each img In ActiveSheet.Shapes
If img.Name Like [A1] Then
With img: .Visible = Not .Visible
End With
End If
Next
End Sub
mais les images ne se masque pas automatiquement ??
a+
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil

chaelie2015
Tu ne mets pas assez souvent les pieds dans ton dressing VBA, on dirait, non ? ;)
EDITION: Bonjour job75
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour chaelie2015, JM,

Voyez le fichier joint et cette macro dans le code de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x$, e
With [A1]
    If Intersect(Target, .Cells) Is Nothing Then Exit Sub
    x = UCase(.Value)
End With
For Each e In [liste]
    If UCase(e) <> "TOUS" Then Shapes(e).Visible = x = "TOUS"
Next
    If x <> "" And x <> "TOUS" Then Shapes(x).Visible = True
End Sub
A+
 

Pièces jointes

  • Images(1).xlsm
    37.9 KB · Affichages: 27

Discussions similaires

Réponses
5
Affichages
198
Réponses
12
Affichages
647

Statistiques des forums

Discussions
314 013
Messages
2 104 547
Membres
109 077
dernier inscrit
FCachats