Sub Supprimer()
Dim LaPlage As Range
Dim I As Long
Dim J As Integer
'défini la plage de recherche sur toutes les cellules utilisées
'de la feuille active (fonction Plage ci-dessous)
Set LaPlage = Plage(ActiveSheet)
'parcour les lignes de la plage en partant de la dernière
'(obligatoire si on supprime des lignes)
For I = LaPlage.Rows.Count To 1 Step -1
'parcour les cellules de la ligne en cour
For J = 1 To LaPlage.Rows(I).Cells.Count
'si "NP" se trouve dans la cellule en cour, supprime la
'ligne et fin de boucle sur les cellules
If InStr(LaPlage.Rows(I).Cells(J), "NP") <> 0 Then
LaPlage.Rows(I).EntireRow.Delete
Exit For
End If
Next J
Next I
End Sub
Function Plage(Fe As Worksheet) As Range
With Fe
Set Plage = .Range(.Cells(1, 1), _
.Cells( _
.Cells.Find("*", .[A1], -4123, , _
1, 2).Row, _
.Cells.Find("*", .[A1], -4123, , _
2, 2).Column))
End With
End Function