Problème de tri dans des lignes insérées dans un sous-form

Bonjour.

Dans une base, je crée des relevés (formulaire principal) où je reporte les notes des personnes (sous-formulaire) ainsi éventuellement qu’un commentaire.

Dès qu’un nouveau relevé est créé, une macro (via un bouton) insère la liste des personnes dans le sous-formulaire. La macro fonctionne bien, mais…

Problème : j’ai essayé diverses formulations (à partir d’une table, d’une requête ou d’une vue), mais je ne parviens pas à ce que les personnes soient triées par ordre alphabétique. L’ordre est celui de leur ID.

Merci.

TestPrimus.odb (18,7 Ko)

Le problème, c’est qu’il manque les noms dans le tableau que tu veux trier. J’ai donc créé une requête supplémentaire pour que tu puisses trier en fonction des noms. J’ai modifié le formulaire en fonction de la requête et j’ai effectué le tri directement sur les noms des personnes.
TestPrimus.odb (18.8 KB)

Je ne pense jamais aux sous-requêtes. :kissing_closed_eyes: J’avais bien essayé avec une jointure mais pas moyen de saisir dans les colonnes REL_NOTES et REL_OBS. Par contre, je ne comprends pas le COALESCE. Il n’y a pourtant pas de NULL dans PER_NOM ni PER_PRENOM…

Encore merci… :slightly_smiling_face:

C’est vrai. Je n’avais pas regardé le tableau. Chez moi, il arrive de temps en temps que le prénom d’une personne soit inconnu. C’est pourquoi le code contient déjà COALESCE par sécurité.

Salut Primus,

Je n’y connais pas grand chose en visual basic et je me débrouille donc sans macros.
J’ai donc créé le sous formulaire avec une vue sans contraintes et en ce qui concerne le tri, j’ai mis le “nom” dans la première case et l’affichage est en ordre croissant (A-Z). Je peux le changer (Z-A) grâce à l’icône dans la barre inférieure du logiciel.
tri-o-lélé.odb (11.8 KB)

C’est pas du VBA mais du oBasic.

Je vais jeter un oeil à ta base…