1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Sub RemoveFilteredRows()
Dim rng As Range, rngVisible As Range, rngCriteria As Range
Set rng = ThisWorkbook.Worksheets("db").Range("A1").CurrentRegion
Set rngCriteria = rng.Offset(columnoffset:=rng.Columns.Count).Resize(2, 1) ' Zone des critères
' Insertion des critères
With rngCriteria: .Item(1) = "fn": .Item(2) = "=I2=""Appartement""": End With
' Filtre avancé
rng.AdvancedFilter xlFilterInPlace, rngCriteria
' Sélection des cellules visibles
With rng
Set rngVisible = .Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible)
End With
rngVisible.EntireRow.Delete ' Supprime les lignes entières visibles
rng.Worksheet.ShowAllData ' Affiche les données
rngCriteria.Clear ' Supprime les critères
Set rng = Nothing: Set rngCriteria = Nothing
End Sub |
Partager