Sub SupprimerLignesX()
Dim RangeDelete As Range
Dim PremièreLigneTableau As Long
Dim DernièreLigneTableau As Long
Dim i As Long
Const PremièreColonneTableau = 1
With ActiveSheet
PremièreLigneTableau = 1
DernièreLigneTableau = .Cells(Rows.Count, PremièreColonneTableau).End(xlUp).Row
For i = PremièreLigneTableau To DernièreLigneTableau
If VarType(.Cells(i, PremièreColonneTableau).Value) = vbString Then
If UCase(Trim(.Cells(i, PremièreColonneTableau).Value)) = "X" Then
If RangeDelete Is Nothing Then Set RangeDelete = .Row(i) Else Set RangeDelete = Union(RangeDelete, .Row(i))
End If
End If
Next i
If Not RangeDelete Is Nothing Then RangeDelete.Delete
End With
End Sub