Filtre avec une valeur dans une cellule

bonjour

j'ai un tableau "Ta" de 8 lignes

format des chiffre utilisé dans le mon tableau et la cellule G2 est nombre avec séparation des milliers

je souhaite faire un filtre dans la 7eme ligne avec la valeurs qui se trouve dans la cellule G2

voici mon macro

Sub filtre()
    Dim str As String
    str = Format(Sheets("feuil1").Range("g2").Value, "#,##0.00")
    ActiveSheet.ListObjects("Ta").Range.AutoFilter Field:=7, Criteria1:=Array(2, str)
End Sub

mon problème que le macro fonctionne avec les nombre inférieure de 999,99 .mais égale a 1 000,00 ou supérieure ça marche pas

je suis sure que le format "#,##0.00" est compatible avec les nombre inférieure de 999,99 mais plus je ne sais pas

https://drive.google.com/open?id=1nkm3DBjC_yd_YJWW_bkrnbOvrPz44LWu

Bonjour Ilies le forum

bah oui si tu transformes tes chiffres en string, tant que ta cellule sera sans la virgule au milieu cela va marcher ensuite non

Pourquoi un espace n'est pas suffisant???

Enfin je peux me tromper mais c'est mon avis premier

à te relire

a+

Papou

Bonjour,

Peux-tu nous dire simplement le filtre que tu veux effectuer sur des données numériques ?

Par exemple : les valeurs différentes de zéro ?, les valeurs supérieures à 1000 ?, etc...

Cdlt.

Bonjour

C'est un filtre pour tous les chiffres numérique sauf le zéro

Re,

Alors essaie ceci :

ActiveSheet.ListObjects("Ta").Range.AutoFilter Field:=7, Criteria1:=">0"

bonjour

je souhaite que le montant a filtrer est la valeur de G2

Re à tous

iliesss ayant posté sur moult forums, je redonne ici ma réponse qui peut être utile à d'autres

Il semble y avoir un bug dans Excel quand on utilise le format à 2 décimales, que ce soit nombre ou comptabilité, avec ou sans séparateur de milliers.

Le filtre automatique numérique ne fonctionne pas sans la précision des décimales, et le cas échéant du séparateur de milliers.

Il faut effectivement une chaîne strictement au format du nombre alors que le filtre avancé lui fonctionne sans problème.

Je considère pour ma part que c'est un bug...

Dans un cas comme celui-ci il est donc conseillé d'utiliser le filtre avancé soit en ajoutant le nom de la colonne à filtrer en G1 soit en créant une plage de critères temporaire

Sub Filtre()
    Range("XFD1") = ActiveSheet.ListObjects("Ta").ListColumns(7).Name
    Range("XFD2") = [G2].Value
    Range("Ta[#All]").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("XFD1:XFD2"), Unique:=False
    Range("XFD1:XFD2") = ClearContents
End Sub
Rechercher des sujets similaires à "filtre valeur"