Si colonne contient valeur alors afficher shapes du meme nom

Bonjour à tous,

J'ai encore besoin de vos talents pour transcrire ceci en code vba :

J'ai une colonne G de la feuille ("A") qui contient des valeurs

J'ai une feuille ("B") qui contient plusieurs dizaines de Shapes

Pour toute cellule de la feuille ("A"), colonne G non vide, si valeur cellule égale au nom d'un shapes de la feuille ("B") alors

shapes visible sinon

shapes invisible

cellule suivante

Voilà …

Merci par avance ...

Bonjour Babouze, bonjour le forum,

une proposition :

Sub Macro1()
Dim A As Worksheet 'déclare la variable A (onglet A)
Dim B As Worksheet 'déclare la variable A (onglet B)
Dim F As Shape 'déclare la variable F (Forme)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Integer 'déclare la variable I (Incrément)

Set A = Worksheets("A") 'définit l'onglet A
Set B = Worksheets("B") 'définit l'onglet B

'*******************************************************************
'non nécessaire si les formes sont déjà masquées par défaut
For Each F In B.Shapes 'boucle sur toutes les formes F de l'onglet B
    F.Visible = False 'masque la forme F
Next F 'prochaine forme de la boucle
'*******************************************************************

DL = A.Cells(Application.Rows.Count, "G").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne G de l'onglet A
For I = 1 To DL 'boucle 1 : sur toutes les lignes de I à DL
    If A.Cells(I, "G").Value <> "" Then 'condition : si la cellule en colonne G de la boucle n'est pas vide
        For Each F In B.Shapes 'boucle 2 : sur toutes les formes F de l'ongelt B
            If A.Cells(I, "G").Value = F.Name Then F.Visible = True: Exit For 'si la valeur de la cellule est égale au nom de la forme, affiche la forme, sort de la boucle 2
        Next F 'prochaine forme de la boucle 2
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle 1
End Sub

Merci ThauThème pour ce code commenté ! ça fonctionne nickel !

Rechercher des sujets similaires à "colonne contient valeur afficher shapes meme nom"