Skip to main content
Skip table of contents

Créer une liste d'aide à choix multiple dans un tableur


Il est possible de pouvoir sélectionner plusieurs entrées dans l’aide d’un tableur.

Ici, par exemple, on souhaite pouvoir sélectionner et afficher plusieurs emplacements dans une colonne de notre tableur :

aide_multiple.gif

Comment faire ? 🧐

Ici, on va décrire comment faire une aide multiple :

  • Si on utilise une liste de valeurs branchée sur la colonne pour notre aide

  • Si on fais notre aide directement dans la requête RCT du tableur

Définir qu’on souhaite de l’aide et du contrôle ( si besoin) sur ce champs

On commence par aller dans la Gestion des Colonnes de notre Tableur, pour définir qu’on souhaite afficher de l’aide sur cette colonne. Pour cela, on se place sur notre tableur, et clic droit “Gestion des colonnes”:

image-20240723-122900.png

Puis, sur la colonne sur laquelle on souhaite de l’aide, on coche “Aide ?”et “Contrôle”, si on veut également du contrôle.

image-20240723-122754.png

On peut ensuite valider… sauf si on utilise une liste de valeurs pour l’aide !

Si on définit l’aide dans la RCT…

Ecrire l’aide multiple dans la RCT (SmartAide)

➡️ ça se passe dans la RCT de contrôle local du tableur.

Où trouver cette requête ?

Cette requête est entrée ici dans la définition du tableur:

image-20240624-084834.png

image-20240723-093622.png

  • Comme pour une Aide classique, on se place dans le bloc d’aide, avec la SCR.RCT_TypeAcces=CLO.”CTL” et la SCR.RCT_TypeAction=CLO.”AID”.

  • Comme pour une aide classique, on se place sur le champs pour lequel on veut appeler l’aide, avec VLO.VarZoneEnCours

  • On initialise la VBP.Ques_AideSmart à Oui

  • On met le séparateur qui s’affichera dans la cellule entre les valeurs avec la SCR.CdeSccSelR

  • Ici, on mets la SCR.CdeSCCSelM à D, car on souhaite que l’aide commence en Début de cellule. On aurait pu également faire commencer l’aide au Xième caractère de la cellule, pour remplacer par exemple uniquement la dernière valeur…

  • On vient ensuite mettre dans la liste les valeurs qu’on souhaite afficher dans l’aide !

Ecrire le contrôle dans la RCT

Une fois qu’on a écrit l’aide, on va certainement souhaiter empêcher l’utilisateur de rentrer des valeur qui ne sont pas dans cette aide.

➡️ On va donc venir contrôler ce que l’utilisateur a entré dans la cellule. Or, le contenu de la cellule est sous forme de liste chainée séparée par un séparateur !

Il va donc falloir séparer et contrôler chaque élément de la liste entre les séparateurs:

Ici, on vient contrôler que les emplacements qui sont dans la cellule existent bien :

image-20240723-121322.png

  • On se place en modification dans la requête (SCR.RCT_TypeAction=CLO.”MOD”), quand l’utilisateur vient modifier le champs sur lequel on a mis notre aide (VLO.VarZoneEnCours=…”).

  • On vient compter le nombre d'éléments qu’on a dans la cellule, entre chaque séparateur, avec le mot-clé NB-MOT.

  • On vient ensuite faire une boucle pour parcourir tous les éléments de la cellule et les contrôler ( ici, voir si ce sont des emplacements existants).

Et on peux aller tester !


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.