Listbox: lire le nom de l'entête cliqué

Hey,

Je souhaite faire un sytème de filtre “à la Excel” sur une listbox via
un clic droit sur l’entête de la colonne.

<https://doc.4d.com/4Dv16/4D/16.4/Evenement-formulaire.301-3979507.fr.h
ml>La doc dit :>

Sur clic entête : cet événement est généré lorsqu’un clic se produit
sur l’en-tête d’une colonne de list box. Dans ce cas, la commande
Self permet de connaître l’en-tête de colonne sur laquelle le clic
s’est produit. L’événement Sur clic est généré lorsqu’un clic droit
(Windows) ou un Ctrl+clic (Mac OS) se produit sur une colonne ou un
en-tête de colonne. Vous pouvez tester le nombre de clics effectués
par l’utilisateur à l’aide de la commande Nombre de clics.

Je constate qu’il est possible de mettre du code pour traiter sur clic entete au niveau :

On peut cocher l’événement sur clic entete au niveau :

On peut coder une méthode objet dans le bouton d’entête mais on ne peut pas gérer aucun événement (clic, drop, etc.)

Résultat pour le moment :
Je n’arrive pas à identifier simplement le bouton d’entête qui est cliqué. Contrairement à ce que dit la doc, self ne fait rien

Merci pour vos lumières :idea:

En attendant j’ai ce code qui fonctionne :

<code 4D>
// Method LB_Get_Current_nameObject returns an onbject name from the listox
//
// #SYNTAX: $L_Erreur:=LB_Get_Current_nameObject
// #PARAMETERS:
// $0 Text : object name

// #DATE CREATION: 17/01/2019 #AUTHOR: Bertrand SOUBEYRAND info@soubeyrand-4d-developer.eu
// #DATE MODIFICATION: 00/00/0000
// #NOTE:
// This method can be call from within the current listbox object method
// #HEADER VERSION: 2

// After a clic on a column or header
// we want to know the name of the object

C_TEXT($0)
$0:=""

ARRAY TEXT($rT_LB_Names;0)
LISTBOX GET OBJECTS(*;OBJECT Get name(Object with focus);$rT_LB_Names)

C_LONGINT($i;$L_Size)
$i:=1
$L_Size:=Size of array($rT_LB_Names)

C_TEXT($T_Name)
$T_Name:=""

While (Length($T_Name)=0) & ($i<=$L_Size)

If ((OBJECT Get pointer(Object named;$rT_LB_Names{$i}))=Self)
	$T_Name:=$rT_LB_Names{$i}
End if 
$i:=$i+1

End while

$0:=$T_Name

// EOM
</code 4D>

Regarde https://forums.4d.com/Post/FR/28122303/1/28132247#28122304ça>, peut-être une piste. Le survol renvoie le nom de l’objet survolé, il ne doit pas y avoir grand chose à adapter pour le faire sur clic.