Suppression de données via Filtre automatique

Bonjour à vous tous,

J'utilise la méthode suivante pour supprimer plusieurs lignes avec le filtre automatique :

Selection.AutoFilter Field:=18, Criteria1:="Vendu"

Range("B8", Range("rfinmontant")).Select

Selection.EntireRow.Delete

Donc, je fais un filtre sur la colonne 18 pour tous les vendus et je supprime toutes les données. Voici mon problème : Si il n'y a pas de vendu, je supprime toutes mes données ...

Est-ce que vous avez une solution?

Merci d'avance pour votre aide précieuse !!

Vincent, Québec

Bonjour,

Avec filtre élaboré

Sub filtre()
Dim Lg%, Plg As Range
    Lg = Cells.Find("*", , , , xlByRows, xlPrevious).Row
    Set Plg = Range("a7:r" & Lg)
    Plg.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
    Range("o1:o2"), Unique:=False

    Plg.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    On Error Resume Next
    ActiveSheet.ShowAllData
End Sub

Amicalement

Claude

Merci Claude,

J'ai juste une petite question. Pourquoi le critère et O1:O2 aulieu de simplement O2?

Merci encore! Bonne journée !

Vincent

re,

Un critère de filtre est toujours sur 2 lignes,

la 1ère est pour l'en-tête, ici facultative puisque "critère formule"

tu peux écrire en o1 "libellé18" (en-tête de la colonne "R")

et en o2 "vendu" (à la place de la formule)

le résultat sera le même

Amicalement

Claude

Merci beaucoup !

Rechercher des sujets similaires à "suppression donnees via filtre automatique"