Microsoft 365 afficher et masquer des lignes selon une valeur de la liste

biba78

XLDnaute Junior
Bonjour à tous,
besoin de votre aide
Je souhaite afficher les lignes masquées selon le ville sélectionnée dans la cellule J8.
Exemple :
J8 = Bordeaux => afficher site 1 , Site 4 et Site 8
J8= Lille => afficher Site 4, Site 6 et Site Site 9
J8= Lyon => afficher Site1, Site 8 et Site 9
J8= Toutes les villes => afficher tous les sites
En vous remerciant à l’avance
 

Pièces jointes

  • affichage et masquer des lignes.xlsx
    10.3 KB · Affichages: 19

Jacky67

XLDnaute Barbatruc
Bonjour à tous
La sélection n'est pas en J8, mais en i8
Autre proposition par "Select Case"
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, [i8]) Is Nothing Then
        Rows("12:20").Hidden = True
        Select Case UCase(Trim([i8]))
        Case "BORDEAUX"
            Range("12:12,15:15,19:19").EntireRow.Hidden = False
        Case "LILLE"
            Range("15:15,17:17,20:20").EntireRow.Hidden = False
        Case "LYON"
            Range("12:12,19:20").EntireRow.Hidden = False
        Case "TOUTES LES VILLES"
            Rows("12:20").Hidden = False
        End Select
    End If
End Sub
 

Pièces jointes

  • affichage et masquer des lignes.xlsm
    17.2 KB · Affichages: 19
Dernière édition:

biba78

XLDnaute Junior
Bonsoir à tous,
je reviens vers vous suite au changement de la présentation de mon tableau
je souhaite plutôt mettre en surbrillance les colonnes selon le ville sélectionnée dans la cellule J3.
Exemple :
J8 = Bordeaux => colonnes site 1 , Site 4 et Site 8
J8= Lille => colonnes Site 4, Site 6 et Site Site 9
J8= Lyon => colonnes Site1, Site 8 et Site 9
J8= Toutes les villes => afficher tous les sites
En vous remerciant à l’avance pour votre aide
Cordialement
 

Pièces jointes

  • affichage et masquer des lignes.xlsm
    18.4 KB · Affichages: 8

Jacky67

XLDnaute Barbatruc
Re..
Au risque de me répéter==>La sélection n'est pas en J8, mais en i8

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, [i8]) Is Nothing Then
        Range("a12:m20").Interior.ColorIndex = xlNone
        Select Case UCase(Trim([i8]))
        Case "BORDEAUX"
            Range("a12:m12,a15:m15,a19:m19").Interior.ColorIndex = 43 ' vert
        Case "LILLE"
            Range("a15:m15,a17:m17,a20:m20").Interior.ColorIndex = 43
        Case "LYON"
            Range("a12:m12,a19:m20").Interior.ColorIndex = 43
        Case "TOUTES LES VILLES"
            Range("a12:m20").Interior.ColorIndex = 43
        End Select
    End If
End Sub
 

Pièces jointes

  • affichage et masquer des lignes (2).xlsm
    18.3 KB · Affichages: 5

Jacky67

XLDnaute Barbatruc
J’avoue que je n’avais pas penser à faire la sélection par mois.
Non uniquement par ville avec la mise en surbrillance des colonnes
En vous remerciant par avance
RE..
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim C
    If Not Application.Intersect(Target, [j3]) Is Nothing Then
       [tablo].Interior.ColorIndex = xlNone
        Select Case UCase(Trim([j3]))
        Case "BORDEAUX"
            For Each C In Array(1, 4, 8)
                [tablo].Columns(C).Interior.ColorIndex = 43    ' vert
            Next
        Case "LILLE"
            For Each C In Array(4, 6, 9)
                [tablo].Columns(C).Interior.ColorIndex = 43
            Next
        Case "LYON"
            For Each C In Array(1, 8, 9)
                [tablo].Columns(C).Interior.ColorIndex = 43
            Next
        Case "TOUTES LES VILLES"
           [tablo].Interior.ColorIndex = 43
        End Select
    End If
End Sub
La pj devrait faire
 

Pièces jointes

  • ColorierCellulesSelonVille (1).xlsm
    22.5 KB · Affichages: 13
Dernière édition:

Discussions similaires