Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Afficher ou masquer une shape selon la cellule sélectionnée

pat66

XLDnaute Impliqué
Bonjour le forum,

est il possible d'afficher une forme selon la cellule sélectionnée ?

exemple : je sélectionne la cellule Y22, la forme s'affiche et je sélectionne n'importe quelle autre cellule, la forme est masquée ?

merci
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Pat,
Un essai en PJ avec :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, [Y22]) Is Nothing Then
        Shapes("Image 2").Visible = True
    Else
        Shapes("Image 2").Visible = False
    End If
End Sub
 

Pièces jointes

  • Pat.xlsm
    19.8 KB · Affichages: 0

patricktoulon

XLDnaute Barbatruc
re
bonjour
apprenez a vous servir d'un boolean
en une seule ligne ça donne ceci

VB:
'renouvelez l’opération pour d'autres shapes autant que vous le voulez  de la même facon
'
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

ActiveSheet.Shapes("toto").Visible = (Target.Address(0, 0) = "Y2")

End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Patrick,
apprenez a vous servir d'un boolean

Sauf que très généralement la macro intégrée dans le "vrai" fichier ne fait pas que cela, ce n'est qu'une action parmi d'autres.
J'aurais du écrire :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, [Y22]) Is Nothing Then
        Shapes("Image 2").Visible = True
        ' Mettre ici les autres actions quand l'image est affichée
    Else
        Shapes("Image 2").Visible = False
        ' Mettre ici les autres actions quand l'image est masquée
    End If
End Sub
 

patricktoulon

XLDnaute Barbatruc
re
Bonjour @sylvanu et alors ?
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Shapes("toto").Visible = (Target.Address(0, 0) = "Y2")
    
    If Not Intersect(Target, [Y22]) Is Nothing Then
        ' Mettre ici les autres actions quand l'image est affichée
    Else
        ' Mettre ici les autres actions quand l'image est masquée
    End If
End Sub
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…