VBA _ utilisation criteria pour filtre
Sansandrine
Messages postés
94
Statut
Membre
-
eriiic Messages postés 25847 Statut Contributeur -
eriiic Messages postés 25847 Statut Contributeur -
Bonjour,
J'ai un tableau avec des filtres et j'aurais aimé savoir si avec VBA il était possible de faire un tri (donc avec criteria:="") mais par rapport à la valeur d'une autre cellule.
Par exemple en A2 et A3 j'ai des valeurs, et j'aimerais que la colonne (field=20) soit filtrée pour être supérieure à la valeur en A2 et inférieure ou égale à la valeur en A3.
Pour l'instant j'ai ça, mais je ne sais pas comment compiler la valeur d'une case avec criteria
Selection.AutoFilter Field:=20, Criteria1:=">a2" , Operator:=xlAnd, _
Criteria2:="<=a3"
Merci d'avance
J'ai un tableau avec des filtres et j'aurais aimé savoir si avec VBA il était possible de faire un tri (donc avec criteria:="") mais par rapport à la valeur d'une autre cellule.
Par exemple en A2 et A3 j'ai des valeurs, et j'aimerais que la colonne (field=20) soit filtrée pour être supérieure à la valeur en A2 et inférieure ou égale à la valeur en A3.
Pour l'instant j'ai ça, mais je ne sais pas comment compiler la valeur d'une case avec criteria
Selection.AutoFilter Field:=20, Criteria1:=">a2" , Operator:=xlAnd, _
Criteria2:="<=a3"
Merci d'avance
3 réponses
Bonjour,
essaie avec ..., Criteria1:=">" & [a2].value, ....
à condition d'être sur la même feuille, sinon il faudra indiquer la feuille.
eric
essaie avec ..., Criteria1:=">" & [a2].value, ....
à condition d'être sur la même feuille, sinon il faudra indiquer la feuille.
eric
En fait maintenant il me met erreur autofilter n'a pas pu s'exécuter.
Voici le code que j'ai essayé de mettre :
Selection.AutoFilter Field:=20, Criteria1:=">" & Sheets("men_ext").Range("$j$13").Value, Operator:=xlAnd, _
Criteria2:="<=" & Sheets("men_ext").Range("$l$13").Value
Selection.AutoFilter Field:=21, Criteria1:=">" & [$j$14].Value, Operator:=xlAnd, _
Criteria2:="<=" & [$l$14]
Et voici mon fichier : http://www.cijoint.fr/cjlink.php?file=cj201006/cij3nDGLTY.xls
Aussi ou faut-il que je mette la macro pour qu'elle s'exécute automatiquement mais qu'elle n'interfère pas avec les autres classeurs ?
Voici le code que j'ai essayé de mettre :
Selection.AutoFilter Field:=20, Criteria1:=">" & Sheets("men_ext").Range("$j$13").Value, Operator:=xlAnd, _
Criteria2:="<=" & Sheets("men_ext").Range("$l$13").Value
Selection.AutoFilter Field:=21, Criteria1:=">" & [$j$14].Value, Operator:=xlAnd, _
Criteria2:="<=" & [$l$14]
Et voici mon fichier : http://www.cijoint.fr/cjlink.php?file=cj201006/cij3nDGLTY.xls
Aussi ou faut-il que je mette la macro pour qu'elle s'exécute automatiquement mais qu'elle n'interfère pas avec les autres classeurs ?
Bonsoir,
Avant ton filtre sélectionne une cellule lui appartenant, par exemple [A21].select.
Et si tu veux que ce soit plus propre mémorise la cellule active lors de l'appel pour la restaurer ensuite (enfin là ça ne se voit pas trop car plus loin tu sélectionnes W21...).
Ce qui peut donner :
eric
Avant ton filtre sélectionne une cellule lui appartenant, par exemple [A21].select.
Et si tu veux que ce soit plus propre mémorise la cellule active lors de l'appel pour la restaurer ensuite (enfin là ça ne se voit pas trop car plus loin tu sélectionnes W21...).
Ce qui peut donner :
Sub filtre()
Dim memcell As Range
Application.ScreenUpdating = False
Set memcell = ActiveCell
[A21].Select
Selection.AutoFilter Field:=20, Criteria1:=">" & [$j$13].Value, Operator:=xlAnd, _
Criteria2:="<=" & [$l$13].Value
Selection.AutoFilter Field:=21, Criteria1:=">" & [$J$14].Value, Operator:=xlAnd, _
Criteria2:="<=" & [$L$14]
memcell.Select
Application.ScreenUpdating = True
End Sub
eric