utiliser une boite de dialogue pour un filtre - convertir en valeur???

yannick63430

XLDnaute Junior
Bonjour,

je souhaiterais utiliser un filtre de données avec la condition entre <xxx ou > xxx. Afin d'obtenir la valeur des xxx, je veux mettre en place un boite de dialogue.
J'ai réalisé la macro suivante mais sans succès :

toto = InputBox("Veuillez renseigner le seuil positif pour le tri")
toto1 = InputBox("Veuillez renseigner le seuil négatifs pour le tri. Ne pas oublier le signe - devant")
ActiveSheet.Range("$A$1:$I$139").AutoFilter Field:=8, Criteria1:=">=Value = toto", _
Operator:=xlOr, Criteria2:="<=Value = toto1"

en effet, le filtre s'effectue bien mais les conditions de filtre sont :
< : "Value = toto" ou > : "Value = toto1" au lieu de par exemple :
: 5999 : 5999

Je pense donc qu'il faut convertir mes "totos" en valeur dans ma macro mais je bloque.

Merci d'avance

Cordialement
Yannick
 

Pièces jointes

  • test.zip
    17.8 KB · Affichages: 49
  • test.zip
    17.8 KB · Affichages: 48
  • test.zip
    17.8 KB · Affichages: 49
Dernière édition:

chris

XLDnaute Barbatruc
Re : utiliser une boite de dialogue pour un filtre - convertir en valeur???

Bonjour

Sauf erreur de ma part toto1 est le petit et toto le grand donc il faudrait inverser < et >

Attention tri et filtre ce n'est pas la même chose : utilise les bons libellés dans tes inputbox

Code:
ActiveSheet.Range("$A$1:$I$139").AutoFilter Field:=8, Criteria1:="<=Value =" & toto, _
Operator:=xlOr, Criteria2:=">=Value =" & toto1
devrait marcher (je n'est pas testé).
 

kjin

XLDnaute Barbatruc
Re : utiliser une boite de dialogue pour un filtre - convertir en valeur???

Bonjour,
S'agissant de pourcentage, il faut adapter le format
Inutile de mettre le signe négatif dans la boite
Code:
toto = Application.InputBox("Veuillez renseigner le seuil positif  pour le tri", Type:=1)
If toto = False Then Exit Sub
toto1 = Application.InputBox("Veuillez renseigner le seuil négatifs pour le tri.", Type:=1)
If toto1 = False Then Exit Sub Else: toto1 = -(toto1)
ActiveSheet.Range("A1").AutoFilter Field:=8, Criteria1:=">=" & CDbl(toto), _
Operator:=xlOr, Criteria2:="<=" & CDbl(toto1)
A+
kjin
 

Statistiques des forums

Discussions
312 429
Messages
2 088 350
Membres
103 823
dernier inscrit
ben talha redouane