[Résolu] Tri d'une liste déroulante via le choix d'une case à cocher

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
GBX3366
NOOuvel adepte
NOOuvel adepte
Messages : 20
Inscription : 05 févr. 2023 18:13

[Résolu] Tri d'une liste déroulante via le choix d'une case à cocher

Message par GBX3366 »

Bonjour à toutes et à tous.
J'espère que le sujet est suffisamment clair et que mes propos le seront tout autant. Débutant en Base, j'ai essayé de trouver une solution à mon problème mais sans réussite. Me voici donc ici.
J'ai une liste déroulante alimentée par une table avec uniquement 2 champs : un ID clé primaire et un champs texte correspondant à des âges (genre age de pierre, moyen-age, renaissance, ...). Je tiens à préciser qu'il s'agit d'un jeu donc aucun rapport avec notre histoire !!!
La liste est donc automatiquement triée par les ID des champs (ce que je veux) - ce qui correspond à une cohérence historique et logique. Mais compte tenu du grand nombre d'âge (plus de 20), je souhaiterais offrir à l'utilisateur la possibilité d'un tri alphabétique de la liste déroulante.
Je sais modifier la séquence SQL de la liste pour faire un tri alphabétique. Mais via les propriétés de la liste. Et non lorsque et uniquement lorsque la case à cocher à côté de la liste est activée.
Je vous remercie d'avance de votre aide et de vos suggestions.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par GBX3366 le 12 févr. 2023 18:00, modifié 2 fois.
LibreOffice7.4 - Windows sept
pulcinopio
Membre prOOscrit
Messages : 243
Inscription : 13 juil. 2022 17:13

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par pulcinopio »

GBX3366 a écrit:
Je sais modifier la séquence SQL de la liste pour faire un tri alphabétique. Mais via les propriétés de la liste. Et non lorsque et uniquement lorsque la case à cocher à côté de la liste est activée.
Je vous remercie d'avance de votre aide et de vos suggestions.
Juste pour vous dire que la liste déroulante est d'office par ordre alphabétique. Avec un fichier mdb (ms access) l'utilisateur peut afficher deux cases adjacentes. Je crains cependant que pour obtenir le même résultat avec BASE, il vous faudra attendre l'intervention d'un membre du forum qui en sait davantage.

Slts

pulcinopio

Post Scriptum Le sujet a déjà été traité dans la section Tableur. Il y a un précédent dans cette section mais le candidat a pris la clé des champs.....
Libre Office 6.0.4 sur Ubuntu 18.04
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12851
Inscription : 08 nov. 2005 16:23
Localisation : Brest, France

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par Bidouille »

Bonjour et bienvenue,

Image
Comment joindre un fichier au format ODF
Veillez également à dépersonnaliser votre fichier.
Donnez un nom clair à ce fichier. Evitez "essai" et autres "test" dont nos tiroirs débordent...
GBX3366
NOOuvel adepte
NOOuvel adepte
Messages : 20
Inscription : 05 févr. 2023 18:13

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par GBX3366 »

pulcinopio a écrit : 08 févr. 2023 23:20 Juste pour vous dire que la liste déroulante est d'office par ordre alphabétique. Avec un fichier mdb (ms access) l'utilisateur peut afficher deux cases adjacentes. Je crains cependant que pour obtenir le même résultat avec BASE, il vous faudra attendre l'intervention d'un membre du forum qui en sait davantage.
Loin de moi l'idée de contredire des gens qui sont (forcément) plus aguerris et compétents que moi en la matière, mais en l'occurrence, ma première liste déroulante l'est car je l'ai demandé via la commande SQL du contrôle. Et la deuxième ne l'est pas (d'office).

Ou alors une chose m'échappe. Ce qui est tout à fait possible.
LibreOffice7.4 - Windows sept
GBX3366
NOOuvel adepte
NOOuvel adepte
Messages : 20
Inscription : 05 févr. 2023 18:13

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par GBX3366 »

Bidouille a écrit : 09 févr. 2023 07:13 Comment joindre un fichier au format ODF
Voici l'ébauche en question. Désolé de ne pas l'avoir fournie.
La modération vous a écrit: Document a été ajouté au premier message par l'initiateur du sujet.
En général on respecte la chronologie.

Dernière modification par micmac le 09 févr. 2023 18:03, modifié 1 fois.
Raison : Citation réduite
LibreOffice7.4 - Windows sept
pulcinopio
Membre prOOscrit
Messages : 243
Inscription : 13 juil. 2022 17:13

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par pulcinopio »

Bonsoir Monsieur GéBé.

Vous avez écrit:
Et la deuxième ne l'est pas (d'office).
Cher Monsieur,

Ce n'est pas mon intention de vous ressasser les notions orthographiques. Afin que la liste soit de facto par ordre alphabétique, j'ose vous rappeler qu'en français il n'est point nécessaire d'accentuer les majuscules.

Veuillez agréer mes salutations les meilleures

pulcinopio
Libre Office 6.0.4 sur Ubuntu 18.04
GBX3366
NOOuvel adepte
NOOuvel adepte
Messages : 20
Inscription : 05 févr. 2023 18:13

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par GBX3366 »

pulcinopio a écrit : 09 févr. 2023 18:50 Bonsoir Monsieur GéBé.

Vous avez écrit:
Et la deuxième ne l'est pas (d'office).
Cher Monsieur,

Ce n'est pas mon intention de vous ressasser les notions orthographiques. Afin que la liste soit de facto par ordre alphabétique, j'ose vous rappeler qu'en français il n'est point nécessaire d'accentuer les majuscules.

Veuillez agréer mes salutations les meilleures

pulcinopio
Cher Monsieur P.

Permettez moi d'effectuer deux petites remarques.

La première d'ordre linguistique et orthographique. Il n'est effectivement pas nécessaire d'accentuer les majuscules et les capitales. Mais, comme le recommande l'Académie française depuis quelques années, il est recommandé de le faire. Je vous invite d'ailleurs à consulter le lien suivant, issu du site du Projet Voltaire. Article instructif sur le pourquoi et le comment de l'accentuation des capitales et majuscules :
https://www.projet-voltaire.fr/culture-generale/accent-majuscules-capitales/

La seconde remarque est plus en adéquation avec le forum et ma demande. De votre remarque, dois-je en déduire que Base gère mal les capitales accentuées ? Ce qui m'étonnerait et m'étonne d'autant plus que lorsque je demande (via instructiion SQL) de trier alphabétiquement la deuxième liste déroulante, le résultat est parfait. Ce qui prouverait donc que Base gère bien les capitales accentuées.

Sur ce, je vous souhaite une bonne soirée. Et une bonne lecture.
LibreOffice7.4 - Windows sept
pulcinopio
Membre prOOscrit
Messages : 243
Inscription : 13 juil. 2022 17:13

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par pulcinopio »

Bon je me fais tout petit, pour vous dire que si vous mélanger majuscules accentuées et non, faut pas vous étonner si ça ne coule pas de source... :bravo:
Libre Office 6.0.4 sur Ubuntu 18.04
GBX3366
NOOuvel adepte
NOOuvel adepte
Messages : 20
Inscription : 05 févr. 2023 18:13

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par GBX3366 »

pulcinopio a écrit : 09 févr. 2023 20:08 Bon je me fais tout petit, pour vous dire que si vous mélanger majuscules accentuées et non, faut pas vous étonner si ça ne coule pas de source... :bravo:
Vous vouliez sûrement écrire "si vous mélangez majuscules ...". J'ai toujours (et visiblement si je m'en réfère au lien cité ci-dessus, j'ai eu raison) accentuer les capitales. Puisque dans mon exemple, il s'agit bien de capitales. Mais me direz-vous toutes les capitales sont des majuscules (et non l'inverse).
Et ce qui m'importait à la base (de ce post), était de savoir si Base gérait bien les capitales accentuées. Et c'est le cas.

Donc si une personne peut me donner, à défaut d'une solution, une piste à mon problème, je lui en serais gré.
LibreOffice7.4 - Windows sept
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 17219
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par jeanmimi »

Bonjour,
De mon point de vue, l'affichage du tri alphabétique ne pourra se faire que par Macro.
Celle-ci reconnaitra l'état de la Case à cocher du contrôle C_CHOIX_TRI, et en fonction de cet état, affichera dans la liste déroulante, non pas la requête actuelle :

Code : Tout sélectionner

SELECT "T_AGE"."AGE" AS "AGE" FROM "T_AGE" "T_AGE"
mais celle-ci :

Code : Tout sélectionner

SELECT "T_AGE"."AGE" AS "AGE" FROM "T_AGE" "T_AGE" ORDER BY "AGE"
La Macro pourrait s'inspirer de cet exemple :
viewtopic.php?t=11376
Je suggère d'attendre un autre avis pour aller ou pas vers cette piste.
LibreOffice : Version : 25.8.4 (x64)(23 février 2026)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
pulcinopio
Membre prOOscrit
Messages : 243
Inscription : 13 juil. 2022 17:13

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par pulcinopio »

Cher Monsieur GéBé,

Je me morfonds en excuses pour ma faute de frappe: vous n'allez tout de même pas pour cela m'expédier à Fleury Mérogis :D

En ce qui concerne les capitales accentuées, pour le peu que je sais, on les utilise dans un texte apte à prononcer une locution, ou un discours.
Je me suis permis de vous contrarier car la rhétorique n'est pas mon domaine.

Bien à vous

pulcinopio
La modération vous a écrit: Le forum n'est pas un Tchat. Merci d'éviter les discussions byzantines qui ne font pas avancer le sujet.

Libre Office 6.0.4 sur Ubuntu 18.04
Avatar de l’utilisateur
rollmops
PassiOOnné
PassiOOnné
Messages : 744
Inscription : 20 déc. 2017 14:45

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par rollmops »

Bonjour,
GBX3366 a écrit : 09 févr. 2023 20:18 Donc si une personne peut me donner, à défaut d'une solution, une piste à mon problème, je lui en serais gré.
Si déjà vous nous fournissiez un ODB, nous aurions de quoi comprendre pourquoi ?
Sans macro, pourquoi ne pas faire deux listes ?
OpenOffice 4.1.16 - Windows 11
+ LibO 25.8.5 (occasionnel pour test)
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 17219
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par jeanmimi »

En appliquant la suggestion de rollmops (que je salue au passage) de proposer deux listes affichées sur le formulaire, et en corrigeant le champ de donnée où stocker les ID correspondantes aux Ages, sélectionnés dans une des deux Zones de liste, dans la Table T_FORMULAIRE_BAT_LISTE, le formulaire pourrait avoir cet aspect sans case à cocher :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 25.8.4 (x64)(23 février 2026)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
GBX3366
NOOuvel adepte
NOOuvel adepte
Messages : 20
Inscription : 05 févr. 2023 18:13

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par GBX3366 »

Merci pour la piste fournie. Piste à laquelle j'avais pensé mais je préfère n'avoir qu'une liste déroulante pour les âges. Car cela rendrait encore plus complexe (pour moi) la gestion de 2 listes (en activer une et en désactiver une autre, garder la valeur du champs de l'une et non de l'autre). Je crains de galérer derrière.
Si vous pensez que seule une résolution par macro est possible, je m'en vais délocaliser ce post dans la section Marco. De toute façon, je pense que je vais devoir y passer pour la suite des opérations.
LibreOffice7.4 - Windows sept
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10105
Inscription : 28 août 2010 08:45

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par micmac »

Merci de donner le lien vers le sujet en section Macros et dans ce dernier, le lien vers celui-ci.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
GBX3366
NOOuvel adepte
NOOuvel adepte
Messages : 20
Inscription : 05 févr. 2023 18:13

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par GBX3366 »

Mon post a été déplacé en section Macro :
viewtopic.php?t=66722

MERCI A TOUS
LibreOffice7.4 - Windows sept
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10105
Inscription : 28 août 2010 08:45

Re: Tri d'une liste déroulante via le choix d'une case à cocher

Message par micmac »

Si vous vous êtes orienté vers une solution par macros, merci de clore le sujet : Comment clore un sujet correctement lorsqu'il est résolu
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS