Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA XL2003 Supprimer les valeurs négatives dans un autofiltre

1 réponse
Avatar
Jarobasearobase
Bonjour,

Dans Excel 2003, j'ai un tableau avec un filtre automatique,
je veux supprimer les valeurs négatives dans la colonne E, colonne qui a une entête.

Si je fais :
Selection.AutoFilter field:=5, Criteria1:="<0", Operator:=xlAnd
Columns("E:E").Select
Selection.ClearContents
je supprime bien les valeurs négatives mais je supprime aussi l'entête ...

Si j'essaie :
Count = Range("E500").End(xlUp).Row
Range("E2:E" & Count).Select
'je sélectionne tout sauf l'entête, c'est correct, mais

With Selection
.AutoFilter Field:=5, Criteria1:="<0", Operator:=xlAnd
Range("E2:E" & Count).Select '******passe en jaune
.ClearContents
End With

Merci pour toute aide,
Cordialement
J@@

1 réponse

Avatar
Jarobasearobase
Ça y est, cela fonctionne :
ActiveCell.CurrentRegion.AutoFilter 'met filtre auto
Count = Range("E500").End(xlUp).Row 'sélectionne les cellules non vides de e2 Í  e500
Range("E2:E" & Count).Select
With Selection
.AutoFilter Field:=5, Criteria1:="<0", Operator:=xlAnd
Range("E2:E" & Count).Select
.ClearContents ' supprime les valeurs négatives
.AutoFilter Field:=5
End With
En fait au cours des essais, j'avais supprimé le filtre automatique.
En ajoutant
ActiveCell.CurrentRegion.AutoFilter
Je n'ai plus ce souci.
puis j'ai ajouté
.AutoFilter Field:=5
car la colonne restait filtré me masquant les données non supprimées.
Merci encore pour la lecture.
J@@
Le 21/05/2021 Í  13:21, Jarobasearobase a écrit :
Bonjour,
Dans Excel 2003, j'ai un tableau avec un filtre automatique,
je veux supprimer les valeurs négatives dans la colonne E, colonne qui a une entête.
Si je fais :
    Selection.AutoFilter field:=5, Criteria1:="<0", Operator:=xlAnd
    Columns("E:E").Select
    Selection.ClearContents
je supprime bien les valeurs négatives mais je supprime aussi l'entête ...
Si j'essaie :
    Count = Range("E500").End(xlUp).Row
    Range("E2:E" & Count).Select
    'je sélectionne tout sauf l'entête, c'est correct, mais
    With Selection
        .AutoFilter Field:=5, Criteria1:="<0", Operator:=xlAnd
        Range("E2:E" & Count).Select           '******passe en jaune
        .ClearContents
    End With
Merci pour toute aide,
Cordialement
J@@