Bonsoir,
Sans passer par l'autofilter :
Sub MaskSite()
Dim Site As String
Dim l As Integer
Site = Range("D2").Value
For l = 7 To 100
Rows(l).EntireRow.Hidden = False
If InStr(Range("D" & l).Value, Site) > 0 Then
Rows(l).EntireRow.Hidden = False
Else: Rows(l).EntireRow.Hidden = True
End If
Next l
End Sub
Cordialement,
Bonjour! Voilà c'est bien cette méthode que je cherchais, merci.
Cependant j'ai du préciser à Excel que l'action devait se passe dans l'onglet "Effectif", car j'ai testé ta macro et elle m'a masqué des trucs sur l'onglet "imprimer" à la place...
Du coup voilà le code remaniée :
Sub MaskSite()
Dim Site As String
Dim l As Integer
Dim o As Worksheet
Set o = Worksheets("Effectif")
Site = o.Range("D2").Value
For l = 7 To 100
o.Rows(l).EntireRow.Hidden = False
If InStr(o.Range("D" & l).Value, Site) > 0 Then
o.Rows(l).EntireRow.Hidden = False
Else: o.Rows(l).EntireRow.Hidden = True
End If
Next l
End Sub
Cela ne donne pas le résultat escompté, car, comme suis la pièce jointe de ce post, on peut voir que dans un cas avec un critère "Quai A", j'ai encore des lignes contenant "Point M"...
Il faut peut être intégrer MaskSite à la macro Masquer Ligne?
Merci merci encore pour l'aide