Masquer ou afficher des lignes sous condition

Fermé
Twixman Messages postés 8 Date d'inscription jeudi 7 février 2019 Statut Membre Dernière intervention 9 mars 2019 - Modifié le 8 mars 2019 à 16:42
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 9 mars 2019 à 13:28
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 jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
Modifié le 8 mars 2019 à 17:28
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 jeudi 7 février 2019 Statut Membre Dernière intervention 9 mars 2019
9 mars 2019 à 13:19
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 jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
9 mars 2019 à 13:28
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