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

Noter le critère sélectionné

6 réponses
Avatar
Sitting Hoax
Bonjour,
je voudrais connaître le critère sélectionné dans un filtre.
Selection.AutoFilter Field:=4, Criteria1:="26"
Ici, le critère est 26, mais comment récupérer le critère retenu,
dans une variable lorsque l'on actionne un filtre automatique?
Une ligne de code dans une macro évènementielle de ce style:
qui bien sûr ne marche pas:-(
Private Sub Worksheet_Change(ByVal Target As Range)
x = Target.AutoFilter Field(4).Criteria1
MsgBox x
End Sub

Merci de vos lumières
Amicalement
Sitting Hoax

6 réponses

Avatar
LSteph
Bonjour "Sitting Hoax",
Ceci peut-être t'aiderait:

With ActiveSheet
If .AutoFilterMode Then
With .AutoFilter.Filters(1)
If .On Then MsgBox .Criteria1
End With
End If
End With

'lSteph

"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le message
de news: eS5D8ai$
Bonjour,
je voudrais connaître le critère sélectionné dans un filtre.
Selection.AutoFilter Field:=4, Criteria1:="26"
Ici, le critère est 26, mais comment récupérer le critère retenu,
dans une variable lorsque l'on actionne un filtre automatique?
Une ligne de code dans une macro évènementielle de ce style:
qui bien sûr ne marche pas:-(
Private Sub Worksheet_Change(ByVal Target As Range)
x = Target.AutoFilter Field(4).Criteria1
MsgBox x
End Sub

Merci de vos lumières
Amicalement
Sitting Hoax



Avatar
JB
Bonjour,

Autre écriture:

If ActiveSheet.AutoFilter.Filters.Item(3).On Then
MsgBox ActiveSheet.AutoFilter.Filters.Item(3).Criteria1
End If

PJ: http://cjoint.com/?mljWH8z0TM

Cordialement JB
Avatar
LSteph
...en complément, puisque tu cherche sur Event de changer le filtre ,
là je n'ai pas d'idée pour l'instant, juste à préciser que
le Worksheet_change ne sera amha sensible qu'à la modification de la cellule
elle même et non le filtre.


"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le message
de news: eS5D8ai$
Bonjour,
je voudrais connaître le critère sélectionné dans un filtre.
Selection.AutoFilter Field:=4, Criteria1:="26"
Ici, le critère est 26, mais comment récupérer le critère retenu,
dans une variable lorsque l'on actionne un filtre automatique?
Une ligne de code dans une macro évènementielle de ce style:
qui bien sûr ne marche pas:-(
Private Sub Worksheet_Change(ByVal Target As Range)
x = Target.AutoFilter Field(4).Criteria1
MsgBox x
End Sub

Merci de vos lumières
Amicalement
Sitting Hoax



Avatar
Sitting Hoax
Bonjour,
excusez moi de n'avoir pas répondu plus tôt, petit problème de connexion.
Vos macros marchent très bien, merci, je vais m'adapter à cela.
Le seul petit inconvénient, c'est que l'évènement au moment précis
ou l'on modifie le filtre ne soit pas pris en compte.
une formule SOUS.TOTAL() ne déclenche pas non plus l'évènement
Worksheet_change.
A suivre donc...
En attendant, ça me convient quand même.
Le but était de mettre dans une cellule le mot sélectionné par le filtre de
façon à voir dans une autre apparaître:
=mot_filtré & " : " & valeur_dans_une_autre_cellule
A un moment ou à l'autre de la manip, je cliquerai dans une cellule,
l'évènement Worksheet_SelectionChange suffira pour l'instant.
Merci encore JB et LSteph:-)
Amicalement
Sitting Hoax

"LSteph" a écrit dans le message de news:
OWKfcjj$
...en complément, puisque tu cherche sur Event de changer le filtre ,
là je n'ai pas d'idée pour l'instant, juste à préciser que
le Worksheet_change ne sera amha sensible qu'à la modification de la
cellule elle même et non le filtre.


"Sitting Hoax" <http://cerbermail.com/?GSQ36o9bFb> a écrit dans le message
de news: eS5D8ai$
Bonjour,
je voudrais connaître le critère sélectionné dans un filtre.
Selection.AutoFilter Field:=4, Criteria1:="26"
Ici, le critère est 26, mais comment récupérer le critère retenu,
dans une variable lorsque l'on actionne un filtre automatique?
Une ligne de code dans une macro évènementielle de ce style:
qui bien sûr ne marche pas:-(
Private Sub Worksheet_Change(ByVal Target As Range)
x = Target.AutoFilter Field(4).Criteria1
MsgBox x
End Sub

Merci de vos lumières
Amicalement
Sitting Hoax







Avatar
AV
Ave,

| Le seul petit inconvénient, c'est que l'évènement au moment précis
| ou l'on modifie le filtre ne soit pas pris en compte.
| une formule SOUS.TOTAL() ne déclenche pas non plus l'évènement

Met ta fonction SOUS.TOTAL dans une feuille cachée et déclenche la macro par
l'évènement Calculate de cette même feuille

AV
Avatar
Sitting Hoax
Impeccable, ça marche !
filtre dans feuil1
=SOUS.TOTAL(9;Feuil1!A1:A25)
dans une autre feuille, et la macro évènementielle dans la feuille

Private Sub Worksheet_Calculate()
If ActiveSheet.AutoFilter.Filters.Item(1).On Then
MsgBox ActiveSheet.AutoFilter.Filters.Item(1).Criteria1
End If
End Sub

Bravo AV,
dommage que tu ne viennes pas au repas de samedi,
je t'aurais serré une main chaleureuse qui m'aurait presque
fait oublier que qui tu sais va chanter,
comme pour celui qui reçoit des condoléances en quelque sorte ;-))
Merci à tous !
Amicalement
Sitting Hoax
"AV" a écrit dans le message de news:
O4IFeWy$
Ave,

| Le seul petit inconvénient, c'est que l'évènement au moment précis
| ou l'on modifie le filtre ne soit pas pris en compte.
| une formule SOUS.TOTAL() ne déclenche pas non plus l'évènement

Met ta fonction SOUS.TOTAL dans une feuille cachée et déclenche la macro
par
l'évènement Calculate de cette même feuille

AV