VBA // Supprimer des valeurs dans un filtre

Bonjour,

Je dois filtrer une liste de valeurs, jusque là rien de compliquer. Le problème vient du fait que je doive décocher des valeurs qui ne m'intéressement pas dans le filtre grâce à une macro.

Un exemple d'application sur le fichier excel joint :>

Décocher toutes les valeurs qui commencent par 5*

Merci beaucoup ;)

16excel-pratique.xlsm (13.21 Ko)

J'avais penser à quelque chose du genre

    ActiveSheet.Range("A2:A91").AutoFilter Field:=1, Criteria1:= <>"1*" & "2*" & "3*" & "4*" & "6*" & "7*" & "8*" & "9*" & "10"

Mais bien évidemment ça ne peut fonctionner comme ça x)

Bonjour toutes et tous

@tester, j'ai mis en tableau et toujours avec filtre et le bouton donc voici le code ci-dessous , Tableau1

Sub Bouton1_Cliquer()
Worksheets("Feuil1").ListObjects("Tableau1").Range.AutoFilter _
Field:=1, _
Criteria1:=Array("1,1", "1,2", "1,3", "1,4", "1,5", "1,6", "1,7", "1,8", "1,9", "2", _
 "2,1", "2,2", "2,3", "2,4", "2,5", "2,6", "2,7", "2,8", "2,9", "3", _
 "3,1", "3,2", "3,3", "3,4", "3,5", "3,6", "3,7", "3,8", "3,9", "4", _
 "4,1", "4,2", "4,3", "4,4", "4,5", "4,6", "4,7", "4,8", "4,9", "1", "2"), _
Operator:=xlFilterValues
End Sub

ci-joint,

crdlt,

André

Bonjour André,

Merci pour ta contribution. Mais ce n'est pas approprié, bien trop chronophage d'écrire un a un les filtres à conserver. Dans mon tableau d'origine il y a plusieurs centaines de cellules à conserver, c'est pourquoi il est préférable de partir sur une méthodologie de "décocher" ce qui ne nous intéresse pas tout en raccourcissant le code au maximum.

re

ou bouton 3

    With ActiveSheet.Range("$A$2:$A$91"): .AutoFilter Field:=1, Criteria1:="<=" & "4.9": End With

ou bouton 4

Sub Bouton4_Cliquer()
Worksheets("Feuil1").ListObjects("Tableau1").Range.AutoFilter _
Field:=1, _
 Criteria1:="<=" & "4.9"
End Sub

ci-joint @tester

crdlt,

André

Mieux ! Mais supposons qu'on voudrait inclure ce principe avec du texte, quelle serait la démarche ?

Par exemple :

6 types de valeurs à trier :>

A.*
B.*
Section*
Sous-section*
C.*
D.*

(les "*" représentent une suite de chiffre dont on a pas l'utilité)

Comment décocher seulement le "B.*" et "C.*" dans la liste de filtre ?

A noter que j'ai déjà essayer de faire via un enregistrement de macro mais l'enregistrement fait l'inverse, il coche un à un dans le filtre les valeurs qui sont intéréssantes.

Ok j'ai trouvé :)

Sub un()

    ActiveSheet.Range("$A$1:$A$61").AutoFilter Field:=1, Criteria1:="<>B.*", _
        Operator:=xlAnd, Criteria2:="<>C.*"
    ActiveWindow.SmallScroll Down:=-6

End Sub

Re,

bravo, bien vu ^^,
bonne journée

crdlt,

André

Rechercher des sujets similaires à "vba supprimer valeurs filtre"