XL 2021 Afficher & Masquer Connecteur

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

achraf26

XLDnaute Occasionnel
Bonjour tout le monde,
je ne sais comment masquer un connecteur quand la valeur n'est pas correcte, j'ai mis en code vba pour afficher mais pour masquer je ne sais pas le faire, si quelqu'un peut m'aider.
Shapes("Connecteur droit 2").Visible = [B5] = "F"

Bien à vous
 
Solution
Bonjour Achrat, Dranreb,
Rssayez avec :
VB:
ActiveSheet.Shapes("Essai").Visible = [B5] = "F"
par ex avec ceci en feuil1 :
Code:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [B5]) Is Nothing Then
        ActiveSheet.Shapes("Essai").Visible = [B5] = "F"
    End If
Fin:
Application.ScreenUpdating = True
End Sub
on obtient cela :
Test4.gif

E
bonjour le fil
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MaShape As Shape
    Set MaShape = ActiveSheet.Shapes("Connecteur droit 2")
    If [B5] = "F" Then
        MaShape.Fill.Visible = True
        MaShape.Line.Visible = True
    Else
        MaShape.Fill.Visible = False
        MaShape.Line.Visible = False
    End If
    Set MaShape = Nothing
End Sub
 
Bonjour Achrat, Dranreb,
Rssayez avec :
VB:
ActiveSheet.Shapes("Essai").Visible = [B5] = "F"
par ex avec ceci en feuil1 :
Code:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [B5]) Is Nothing Then
        ActiveSheet.Shapes("Essai").Visible = [B5] = "F"
    End If
Fin:
Application.ScreenUpdating = True
End Sub
on obtient cela :
Test4.gif

E
 

Pièces jointes

j'avais trouvé cette solution, mais je ois repeter à chaque fois pour chaque connecteur.
VB:
Shapes("Connecteur droit 2").Visible = [B5] = "F"
   Shapes("Connecteur droit 3").Visible = [B5] <> "F"
   Shapes("Connecteur droit 4").Visible = [B5] <> "F"
   Shapes("Connecteur droit 5").Visible = [B5] <> "F"
   Shapes("Connecteur droit 6").Visible = [B5] <> "F"
   Shapes("Connecteur droit 7").Visible = [B5] <> "F"
   Shapes("Connecteur droit 8").Visible = [B5] <> "F"
   Shapes("Connecteur droit 9").Visible = [B5] <> "F"
   Shapes("Connecteur droit 10").Visible = [B5] <> "F"
 
Si, comme le demande @jurassic pork , toutes les shapes sont concernées :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MaShape As Shape
    For Each MaShape In ActiveSheet.Shapes
        If [B5] = "F" Then
            MaShape.Visible = True
        Else
            MaShape.Visible = False
        End If
    Next MaShape
    Set MaShape = Nothing
End Sub
 
Dernière édition:
Bonjour Achrat, Dranreb,
Rssayez avec :
VB:
ActiveSheet.Shapes("Essai").Visible = [B5] = "F"
par ex avec ceci en feuil1 :
Code:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [B5]) Is Nothing Then
        ActiveSheet.Shapes("Essai").Visible = [B5] = "F"
    End If
Fin:
Application.ScreenUpdating = True
End Sub
on obtient cela :
Regarde la pièce jointe 1205440
E
la solution est parfaite, avec ce code je peux rajouter des shapes en fonction de la valeur de la cellule.
Merci à toi
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour