Masquer ou afficher des lignes sous condition

Twixman Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
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
A voir également:

1 réponse

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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



0
Twixman Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Le Pivert,
Merci.
C'est exactement ça.
Merci, merci pour ton aide.
Bonne journée.
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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
0