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

Tri dans Form

7 réponses
Avatar
Pascal
Bonsoir,
comment puis-je simuler l'équivalent du bouton tri croissant OU tri
décroissant sur un formulaire

l'idée est de faire disparaitre la barre Mode Formulaire et de créer 2
cmdBouton TriCroissant et Tridécroissant
sur la form on se positionne sur un champs au hasard et on choisi le tri
souhaité

une piste bienvenue

Merci

Pascal

7 réponses

Avatar
Pascal
Hello,
dans le code du bouton pour le tri croissant
comment dois-je faire pour récupérer à la place du champ VILLE , le champ
sur lequel le curseur est positionné?
merci d'avance
Private Sub cmdTriCroissant_Click()
[Form_Menu LOGEX].OrderBy = "[ville]"
' [Forms_menu logex].OrderByOn = True
End Sub
Pascal



"Pascal" a écrit dans le message de news:
%
Bonsoir,
comment puis-je simuler l'équivalent du bouton tri croissant OU tri
décroissant sur un formulaire

l'idée est de faire disparaitre la barre Mode Formulaire et de créer 2
cmdBouton TriCroissant et Tridécroissant
sur la form on se positionne sur un champs au hasard et on choisi le tri
souhaité

une piste bienvenue

Merci

Pascal




Avatar
Eric
Bonjour,

Si ton formulaire est tabulaire, tu peux créer une procédure du genre:

Sub pOrdre(UnControle As Control, bType As Boolean)
Dim c As Control, strChaine As String
Set c = UnControle
strChaine = "[" & UnControle.Name & "]" & " " _
& IIf(bType, "ASC", "DESC")
Me.OrderBy = strChaine
Me.OrderByOn = True
c.SetFocus
Set c = Nothing
End Sub

et sur chacun des 2 boutons :
Private Sub cmdTriCroissant_Click()
Call pOrdre(Screen.PreviousControl, -1)
End Sub

Private Sub cmdTriDecroissant_Click()
Call pOrdre(Screen.PreviousControl, 0)
End Sub

Hello,
dans le code du bouton pour le tri croissant
comment dois-je faire pour récupérer à la place du champ VILLE , le
champ sur lequel le curseur est positionné?
merci d'avance
Private Sub cmdTriCroissant_Click()
[Form_Menu LOGEX].OrderBy = "[ville]"
' [Forms_menu logex].OrderByOn = True
End Sub
Pascal



"Pascal" a écrit dans le message de news:
%
Bonsoir,
comment puis-je simuler l'équivalent du bouton tri croissant OU tri
décroissant sur un formulaire

l'idée est de faire disparaitre la barre Mode Formulaire et de créer 2
cmdBouton TriCroissant et Tridécroissant
sur la form on se positionne sur un champs au hasard et on choisi le
tri souhaité

une piste bienvenue

Merci

Pascal






--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Avatar
Eric
.../...
Corrriges la ligne
strChaine = "[" & UnControle.Name & "]" & " " _
& IIf(bType, "ASC", "DESC")
par :
strChaine = "[" & UnControle.Name & "] " _
& IIf(bType, "ASC", "DESC")

ça élimine une concaténation inutile.

...
Sub pOrdre(UnControle As Control, bType As Boolean)
Dim c As Control, strChaine As String
Set c = UnControle
strChaine = "[" & UnControle.Name & "]" & " " _
& IIf(bType, "ASC", "DESC")
Me.OrderBy = strChaine
Me.OrderByOn = True
c.SetFocus
Set c = Nothing
End Sub



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Pascal
merci Eric,
je m'empresse d'essayer cela
un grand merci
Pascal

"Eric" a écrit dans le message de news:
%
.../...
Corrriges la ligne
strChaine = "[" & UnControle.Name & "]" & " " _
& IIf(bType, "ASC", "DESC")
par :
strChaine = "[" & UnControle.Name & "] " _
& IIf(bType, "ASC", "DESC")

ça élimine une concaténation inutile.

...
Sub pOrdre(UnControle As Control, bType As Boolean)
Dim c As Control, strChaine As String
Set c = UnControle
strChaine = "[" & UnControle.Name & "]" & " " _
& IIf(bType, "ASC", "DESC")
Me.OrderBy = strChaine
Me.OrderByOn = True
c.SetFocus
Set c = Nothing
End Sub



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
Willi2004
Salut Eric!
Je suis de très près la réponse à cette question.
Lorsqu'on clique sur l'un des boutons de tri, il ya une erreur d'exécution
qui survient, libellée comme suit:

Erreur de compilation:
Utilisation incorrecte du mot clé Me

Et cela s'adresse au "Me" contenu dans
Me.OrderBy = strChaine contenu dans la procédure.
Avatar
Eric
Bonjour Willi2004,

Je n'ai pas ce problème.
Je te joins un exemple (Access2K car je n'ai pas mieux):
http://cjoint.com/?dcrsGUFTeY

Dis-moi si ça marche chez toi.
J'ai fait une petite modification dans le cas où le focus n'est pas dans
un champ. Mais, si l'on prend soin de cliquer dans le champ à trier
avant de lancer le tri croissant ou décroissant, le problème que tu
soulèves n'apparaissait pas.

Salut Eric!
Je suis de très près la réponse à cette question.
Lorsqu'on clique sur l'un des boutons de tri, il ya une erreur d'exécution
qui survient, libellée comme suit:

Erreur de compilation:
Utilisation incorrecte du mot clé Me

Et cela s'adresse au "Me" contenu dans
Me.OrderBy = strChaine contenu dans la procédure.




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Willi2004
Aïe!!
J'avais collé la procédure au mauvais endroit.
On ne peut pas demander mieux, ça fonctionne impécablement bien.
Lorsque j'ai vu la question, je me suis dit: "cette fois c'est une colle".
Mais loin de là. Il s'est trouvé un génie pour me faire ravaler mes mots en
un éclair.
Ce forum est vraiment génial, grâce aux contributeurs aussi talentueux les
que les autres qui l'animent. Je me forme réellement bien ici et je dis
merci à tous.
Bravo Eric, tu es un as.