Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1"
dl = .Cells(Application.Rows.Count, 2).End(xlUp).Row 'définit la dernière ligne édité dl de la colonne B
Set pl = .Range("B2:B" & dl) 'définit la plage pl
On Error Resume Next 'gestion des erreurs (passe à la ligne suivante si rencontre une erreur)
.Range("A1").AutoFilter Field:=2, Criteria1:="<54300" 'filtre sur premier critère (valeur<54300)
pl.SpecialCells(xlCellTypeVisible).EntireRow.Delete 'efface les lignes visible de la plage pl (provoque une erreur si aucune ligne visible)
If Err <> 0 Then Err = 0 'si une erreur a été générée, annule l'erreur
.ShowAllData 'affiche toutes les lignes
.Range("A1").AutoFilter Field:=2, Criteria1:=">5430", Operator:=xlAnd, Criteria2:="<70000" 'filtre sur second critère (5430<valeur>70000)
pl.SpecialCells(xlCellTypeVisible).EntireRow.Delete 'efface les lignes visible de la plage pl (provoque une erreur si aucune ligne visible)
If Err <> 0 Then Err = 0 'si une erreur a été générée, annule l'erreur
.ShowAllData 'affiche toutes les lignes
.Range("A1").AutoFilter Field:=2, Criteria1:=">899000" 'filtre sur troisième critère (valeur>899000)
pl.SpecialCells(xlCellTypeVisible).EntireRow.Delete 'efface les lignes visible de la plage pl (provoque une erreur si aucune ligne visible)
If Err <> 0 Then Err = 0 'si une erreur a été générée, annule l'erreur
.ShowAllData 'affiche toutes les lignes
.Range("A1").AutoFilter 'supprime le filtre automatique
End With 'fin de la prise en compte de l'onglet "Feuil1"
End Sub