Sub MasquerLignes()
Dim Cel As Range, Plage As Range, sh As Object
For Each sh In Sheets
If sh.Name Like "CG SD*" Then
With sh
For Each Cel In .Range("D:D").SpecialCells(xlCellTypeConstants)
If Cel.Value Like "Dos*" And Cel.Offset(1, 0) = "" Then
If Plage Is Nothing Then
Set Plage = Cel.Offset(-1, 0).Resize(10, 1)
Else
Set Plage = Application.Union(Plage, Cel.Offset(-1, 0).Resize(10, 1))
End If
End If
Next
End With
Plage.EntireRow.Hidden = True
Set Plage = Nothing
End If
Next
End Sub