VBA afficher tous les éléments du volet de sélection selon condition

Bonjour à tous,

je cherche à afficher/masquer les éléments du volets de sélection en fonction du nom écrit dans un case de la feuille.

Exemple : Si dans la case A1 il y a écrit "Romain": Alors :

- tous les éléments comprenant le mot "Romain" s'affichent (donc par exemple afficher (Array("element_Romain1")) et (Array("element_Romain2"))

- tous les élements ne comprenant le mot "Romain" se masquent (donc par exemple masquer (Array("element_Antoine1")) et (Array("element_Antoine2"))

L'enregistreru de macro me donne ceci, mais je ne parviens pas à l'adapter selon mon explication ci dessus.

If ActiveSheet.Range("A54") = "Romain" Then
ActiveSheet.Shapes.Range(Array("element_Romain1")).Visible = Thrue
ActiveSheet.Shapes.Range(Array("element_Romain2")).Visible = Thrue
' etc....
End If
End Sub

Je vous remercie par avance pour l'aide que vous pourriez m'apporter pour ajuster ce code ...

Merci à avous

Bonjour,

A tester :

Sub TestFaireApparaitreLesFormes()

    FaireApparaitreLesFormes ActiveSheet, Range("A1")

End Sub

Sub FaireApparaitreLesFormes(ByVal Sh As Worksheet, ByVal ChaineATester As String)

Dim I As Integer

    With Sh
         If .Shapes.Count > 0 Then
            For I = 1 To .Shapes.Count
                .Shapes(I).Visible = False
                If InStr(1, LCase(.Shapes(I).Name), LCase(ChaineATester), vbTextCompare) > 0 Then
                   .Shapes(I).Visible = True
                End If
            Next I
         End If
   End With

End Sub
Rechercher des sujets similaires à "vba afficher tous elements volet selection condition"