Suppression des lignes résultant d'un filtre
Résolu
Druddy
Messages postés
34
Statut
Membre
-
Druddy Messages postés 34 Statut Membre -
Druddy Messages postés 34 Statut Membre -
Bonjour à Tous,
Suite à des filtres, j'aimerais supprimer les lignes résultantes de mes filtres (sauf la 1ère : Titre de mes colonnes).
La 1ère cellule variant en fonction du résultat (ex : Rows("3:3").Select ou Rows("7:7").Select).
A la main, j’obtiens :
Je vous remercie par avance,
Suite à des filtres, j'aimerais supprimer les lignes résultantes de mes filtres (sauf la 1ère : Titre de mes colonnes).
La 1ère cellule variant en fonction du résultat (ex : Rows("3:3").Select ou Rows("7:7").Select).
A la main, j’obtiens :
'*********************
' DelNonINC Macro
'*********************
Sub DelNonINC()
ActiveSheet.ListObjects("TabDatas").Range.AutoFilter Field:=8, Criteria1:= _
"<>INC*", Operator:=xlAnd
Rows("3:3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
ActiveSheet.ListObjects("TabDatas").Range.AutoFilter Field:=8
End Sub
'*********************
' DelMax0 Macro
'*********************
Sub DelMax0()
ActiveSheet.ListObjects("TabDatas").Range.AutoFilter Field:=11, Criteria1:= _
"0"
Rows("7:7").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
ActiveSheet.ListObjects("TabDatas").Range.AutoFilter Field:=11
End Sub
Je vous remercie par avance,
4 réponses
-
Bonjour,
Entre autres exemples
en fin de page
https://www.developpez.net/forums/d1713575/logiciels/microsoft-office/excel/contribuez/filtre-suppression-lignes-vba/ -
Bonjour,
Merci pour la référence mais j'avoue que mon niveau ne me permet pas de comprendre la subtilité dans cet exercice du lien transmis.
Je n'ai pas compris la définition de la plage.
Si vous pouviez m'aider à comprendre et adapter la macro?
Sub DelNonINC()
derlig = Cells(Rows.Count, 1).End(xlUp)
Set plage = Range("A3", Cells(derlig, 1))
With plage
.AutoFilter Field:=8, Criteria1:="<>INC*", Operator:=xlAnd
Rows(plage.Row + 1 & ":" & plage.Row + plage.Rows.Count - 1).Delete
.AutoFilter Field:=8
.AutoFilter
End With
End Sub
Je vous remercie par avance, -
Bonjour,
Juste au passage, la macro doit certainement vous renvoyez une erreur sur la ligneSet Plage = ...
, car la ligne :derlig = Cells(Rows.Count, 1).End(xlUp)
vous renvoi la valeur de la dernière ligne au lieu du numéro de ligne.
Modifier la lignederlig = Cells(Rows.Count, 1).End(xlUp).Row
-
Merci Le Pingou.
Résolu avec ce code pour ceux qui veulent :
'********************* ' DelNonINC Macro '********************* Sub DelNonINC() ActiveSheet.ListObjects("TabDatas").Range.AutoFilter Field:=8, Criteria1:= _ "<>INC*", Operator:=xlAnd Rows("3:3").Select Range(Selection, Selection.End(xlDown)).Select Selection.Delete Shift:=xlUp ActiveSheet.ListObjects("TabDatas").Range.AutoFilter Field:=8 End Sub '********************* ' DelMax0 Macro '********************* Sub DelMax0() ActiveSheet.ListObjects("TabDatas").Range.AutoFilter Field:=11, Criteria1:= _ "0" Rows("7:7").Select Range("F7").Activate Range(Selection, Selection.End(xlDown)).Select Selection.Delete Shift:=xlUp ActiveSheet.ListObjects("TabDatas").Range.AutoFilter Field:=11 End Sub