Menu

Masquer ou afficher des lignes sous condition

Messages postés
8
Date d'inscription
jeudi 7 février 2019
Dernière intervention
9 mars 2019
-
Bonjour,
je cherche à réaliser un tableau qui afficherait seulement les lignes concernant le jour inscrit en "E5".
J'aimerais, si c'est possible, que le déclencheur soit le mot"masquer" en colonne B, qui est le résultat d' une formule (=si).
Et tous ça automatiquement ( sans bouton)
Merci de votre aide.
https://www.cjoint.com/c/ICipQGFgXCy


Configuration: Windows / Chrome 72.0.3626.121
Afficher la suite 

Votre réponse

1 réponse

Messages postés
5921
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 mars 2019
411
0
Merci
Bonjour,

a mettre dans le module de la feuille 1

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then
If Target.Value = "Masquer" Then
 Rows(Target.Row & ":" & Target.Row).EntireRow.Hidden = True
   Else
   Rows(Target.Row & ":" & Target.Row).EntireRow.Hidden = False
End If
End If
End Sub


mais pour rétablir c'est manuellement ou avec une macro?

Selection de toute la Feuille clic droit Afficher

Ou

 Sub Retablir()
With Sheets("Feuil1").Cells
.EntireRow.Hidden = False
End With
End Sub



Twixman
Messages postés
8
Date d'inscription
jeudi 7 février 2019
Dernière intervention
9 mars 2019
-
Bonjour Le Pivert,
Merci.
C'est exactement ça.
Merci, merci pour ton aide.
Bonne journée.
cs_Le Pivert
Messages postés
5921
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 mars 2019
411 -
il y a aussi cela qui changera avec la cellule E5:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("E5")) Is Nothing Then
Application.ScreenUpdating = False
For_X_to_Next_Ligne
Application.ScreenUpdating = True
End If
End Sub
Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
    Set FL1 = Worksheets("Feuil1")
    NoCol = 2 'lecture de la colonne B
    For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4)
        Var = FL1.Cells(NoLig, NoCol)
       If Var = "Masquer" Then
 Rows(NoLig & ":" & NoLig).EntireRow.Hidden = True
   Else
   Rows(NoLig & ":" & NoLig).EntireRow.Hidden = False
End If
    Next
    Set FL1 = Nothing
End Sub


@+ Le Pivert
Commenter la réponse de cs_Le Pivert