Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Conditions sur affichage des réponses proposées dans une liste de boutons radio

More
4 weeks 20 hours ago #274837 by Viniasco
Bonjour

J'utilise LimeSurvey Cloud Version 6.17.14.

Je dois créer une série de questions avec des boutons radio, mais dont les réponses proposées varient selon les réponses aux questions d'avant.
Je pensais tout simplement mettre les conditions dans le champ pour les équations de filtre conditionnel qu'on trouve dans les listes à case à cocher, mais ces champs n'existent pas pour les boutons radio.
Est-ce réellement impossible?

Merci

Please Log in to join the conversation.

More
4 weeks 19 hours ago #274839 by Joffm
Non, ce n'est pas impossible.
Vous utilisez des filtres matriciels.
Pour cela, vous devez insérer une question à choix multiple, dont vous déterminez les valeurs à l'aide d'ExpressionScript.

Cela paraît compliqué, mais c'est juste un peu long.

Par conséquent, vous devriez absolument envoyer l'export LSS et expliquer les dépendances en détail.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

More
4 weeks 19 hours ago #274840 by Viniasco
Merci pour votre aide.
J'ai exporté le groupe de questions.

Ce que je voudrais obtenir : les options de réponse AO01 et AO02 de la question AsCrM2, ne s'affichent pas si dans la AsCrM1, c'est l'option de réponse AO03 qui est choisie.
Et idem pour la question AsCrM3, les dates proposées ne doivent pas être avant celles choisies dans AsCrM1 et AsCrM2.

Please Log in to join the conversation.

More
4 weeks 4 hours ago #274844 by Joffm
Bonjour,

Veuillez ne pas utiliser les formats d’exportation LSQ ou LSG.
Utilisez uniquement le format LSS.

Copiez le questionnaire, supprimez tout ce qui n’est pas pertinent pour votre problème, puis exportez les résultats au format LSS.       

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: DenisChenu

Please Log in to join the conversation.

More
4 weeks 3 hours ago #274845 by Viniasco

Please Log in to join the conversation.

More
3 weeks 6 days ago #274862 by Joffm
Deux idées, toutes deux très courtes.
1. Uniquement des conditions pour les deux questions.
 
 
2. Autre idée, puisque le participant n'a pas le choix.
À la fin (dans « Calc »), les valeurs des modules 2 et 3 sont enregistrées dans la base de données.



Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

More
3 weeks 6 days ago #274866 by Viniasco
Bonjour
La 1ère solution est plus transparente et simple pour les questionné·e·s.
Si je la comprends bien, il faudrait que je crée autant de questions que de cas pour le choix du module 2, et avec une condition sur chacune pour que la bonne s'affiche en fonction du choix dans le module 1 ?

Please Log in to join the conversation.

More
2 weeks 22 hours ago - 2 weeks 22 hours ago #275000 by Viniasco
Bonjour
Je reprends ici pour une autre question mais pour le même sondage.
J'ai appliqué ce que j'ai décrit ci-dessous pour permettre aux sondé·e·s de choisir les dates.
Je voudrais à présent récapituler les dates choisies.
Pour ça j'ai créé un tableau à double entrée en mettant en Y "Créneau module 1", "2" et "3", et en X, l'intitulé des parcours : "Assainissement", "xxxx" et "yyyy".
J'ai mis des conditions pour que les valeurs en X s'affichent si elles ont été cochées au niveau de la question qui propose le choix entre les 3.
Et maintenant je souhaiterais que dans les cellules du tableau soient repris les créneaux choisis pour chaque module de chaque parcours.
Je pensais passer par les "réponses par défaut", mais en fait elles n'existent pas pour les tableaux.

Y'aurait-il une autre solution ?
Last edit: 2 weeks 22 hours ago by Viniasco.

Please Log in to join the conversation.

More
1 week 5 days ago #275025 by Viniasco
Bonjour
Toujours cette histoire de tableau, mais cette fois-ci dans le mél envoyé au répondant, pour qu'il ait un récapitulatif.
J'ai utilisé les expressions suivantes :
  • Dans la cellule qui doit afficher le créneau du module 1 du parcours "Ass" : {if(quellecomp_Ass.NAOK == "Y",AssCrM1.shown,"X")}
  • Dans la cellule qui doit afficher le créneau du module 2 du parcours "Ass" : {if(quellecomp_Ass.NAOK == "Y",AssCrM2a.shown or AssCrM2b.shown,"X")}
    Il y a un OR parce que selon ce qu'il aura choisi dans le module 1, il répondra à la question AssCrM2a ou b.
  • Même principe pour le module 3
J'ai testé ces expressions dans le texte d'une question pour aller plus vite, et ça fonctionne parfaitement.
 

Du coup, copié/collé dans le texte du courriel, et là c'est bon pour le module 1, mais pour les 2 et 3, j'ai "1" à la place des créneaux 
 

Je sèche, help please !
 

Please Log in to join the conversation.

More
1 week 4 days ago #275026 by Joffm
Bonjour,
Ceci est incorrect.
{if(quellecomp_Ass.NAOK == "Y",AssCrM2a.shown or AssCrM2b.shown,"X")}
Une condition OU est VRAIE ou FAUX. C'est ce qui est affiché, donc le 1 correspond à VRAI.

Mais nous ne savons pas exactement ce que vous avez fait.
Que représent "quellecomp_Ass"?
Que représentent "AssCrM1", "AssCrM2a" et "AssCrM2b"?
Vous n'avez pas envoyé l'export LSS.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

More
1 week 4 days ago - 1 week 4 days ago #275028 by Viniasco
La question "quellecomp" propose 3 réponse, plusieurs étant possibles : Ass ; AEP et PGD
Selon ce qui est coché, les propositions d'horaires s'affichent. Si "Ass" :
- AssCrM1 => 3 horaires, 1 seul choix possible
- AssCrM2a => 3 autres horaires si c'est un des 2 premiers horaires de AssCrM1, parce qu'ils sont tous postérieurs. Toujours 1 seul choix possible.
- AssCrM2b => le seul horaire possible si c'est le 3ème horaire de AssCrM1 qui est choisi
donc on répond soit à AssCrM2a soit à AssCrM2b selon le choix à AssCrM1.

Cette logique est la même pour le choix du 3ème horaire, et reconduite pour "AEP" et/ou "PGD", avec les codes des questions "horaires" adaptés : AEPCrM1 ; PGDCrM1...
Voici le lss. Les expressions sont testées dans la question AssCrM3b.

Vu que ces expressions fonctionnent quand je les utilise dans le texte d'une question, je ne comprends pas pourquoi elles n'aboutissent pas au même résultat dans le corps du texte de la notification détaillée.
Last edit: 1 week 4 days ago by Viniasco.

Please Log in to join the conversation.

More
1 week 4 days ago #275031 by Joffm

je ne comprends pas pourquoi elles n'aboutissent pas au même résultat dans le corps du texte de la notification détaillée.

Car vous procédez de différentes manières.
ChoixAss:
<td style="text-align: center;"><span style="font-size:22px;">{AssCrM2a.shown}{AssCrM2b.shown}</span></td>
Les deux champs sont affichés. Soit M2a est vide, soit M2b est vide.

notification:
<td style="text-align: center;"><span style="color:#006e7f;">{if(quellecomp_Ass.NAOK == "Y",AssCrM2a.shown or AssCrM2b.shown,"X")}</span></td>

L'approche analogue serait…
<td style="text-align: center;"><span style="color:#006e7f;">{if(quellecomp_Ass.NAOK == "Y",AssCrM2a.shown + AssCrM2b.shown,"X")}</span></td>

Et voici la solution correcte.
<td style="text-align: center;"><span style="color:#006e7f;">{if(quellecomp_Ass.NAOK == "Y",if(AssCrM1.NAOK != "AO03",AssCrM2a.shown,if(AssCrM1.NAOK == "AO03",AssCrM2b.shown,"X")),'X')}</span></td>

Joffm

 

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: DenisChenu

Please Log in to join the conversation.

More
1 week 4 days ago #275033 by Viniasco
Merci ça fonctionne très bien !

Mais je ne comprends toujours pas pourquoi il y a une différence dans le code ChoixAss et notification, puisque j'ai vraiment fait un copié/collé.

J'en profite pour glisser le lien vers une autre question , avec une réponse, mon questionnaire serait enfin achevé.
The following user(s) said Thank You: DenisChenu

Please Log in to join the conversation.

More
1 week 4 days ago #275036 by Joffm

puisque j'ai vraiment fait un copié/collé.

Absolument pas.
Les deux codes sont différents (la notification contient la condition IF supplémentaire).
Il m'arrive de réfléchir à une chose et d'en faire une autre.

J'en profite pour glisser le lien vers une autre question

C'est un problème HTML.
Veuillez consulter, par exemple, cette page
[url] www.w3schools.com/html/html_table_sizes.asp [/url]

mon questionnaire serait enfin achevé.

À mon avis, vous devez encore beaucoup travailler sur le questionnaire, notamment sur la mise en page, mais aussi concernant le code.

Je vous enverrai une suggestion plus tard.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

More
1 week 1 day ago - 1 week 1 day ago #275052 by Viniasco
Bonjour
Je n'avais pas vu que vous aviez répondu à ma question précédente. Merci
C'est résolu pour la largeur des colonnes du tableau, avec chatGPT. D'ailleurs le bestiau m'a bien aidé pour ça, mais s'embrouille complètement sur d'autres points, notamment les expressions.

Du coup je reviens, parce qu'en fait un problème persiste dans la formule pour remonter le 3ème créneau choisi dans le mél envoyé aux répondant·e·s.
Je pensais que la formule que vous m'avez conseillée allait convenir, mais elle est incomplète :
Code:
{if(quellecomp_Ass.NAOK == "Y",if(AssCrM1.NAOK != "AO03",AssCrM2a.shown,if(AssCrM1.NAOK == "AO03",AssCrM2b.shown,"X")),'X')}
Elle ne teste que la question AssCrM1 pour savoir si le résultat à remonter est celui de la question AssCrM2a ou 2b, et elle fonctionne parfaitement pour remonter le  2ème créneau.
Mais pour le 3ème, il faudrait tester AssCrM2a et AssCrM2b pour savoir si c'est AssCrM3a ou 3b dont il faut remonter le résultat.
J'espèrais m'en sortir avec :
Code:
{if(quellecomp_Ass.NAOK == "Y",if(AssCrM2a.NAOK != "AO03",AssCrM3a.shown,if(AssCrM2a.NAOK == "AO03",AssCrM3b.shown,if(AssCrM2b.NAOK == "AO03",AssCrM3b.shown,"X"))),’X’)}
Mais ça ne fonctionne toujours pas avec le scénario où la personne répond à la question AssCrM2b. Dans ce cas, le dernier créneau, forcément celui de AssCrM3b ne remonte pas.

J'aurais à nouveau besoin d'un expert.

[edit] : j'ai essayé ça, pensant que si les 2 conditions sur AssCrM2a n'était pas respectées, c'était donc forcément AssCrM3b qu'il fallait afficher, mais pas mieux :
Code:
{if(quellecomp_Ass.NAOK == "Y",if(AssCrM2a.NAOK != "AO03",AssCrM3a.shown,if(AssCrM2a.NAOK == "AO03",AssCrM3b.shown,AssCrM3b.shown)),’X’)}

[edit2] : nouvelle tentative avec ça, en me disant qu'au pire si ça fonctionne il y aurait possiblement eu XX comme réponse et pa X, mais ça aurait été un moindre mal. Pas plus de succès. Impossible de mettre un bouléen dans une expression ?
Code:
{if(quellecomp_Ass.NAOK == "Y",if(AssCrM2a.NAOK != "AO03",AssCrM3a.shown,if(AssCrM2a.NAOK == "AO03",AssCrM3b.shown, » »)),’X’) OR if(quellecomp_Ass.NAOK == « Y »,if(AssCrM2b.NAOK == "AO03",AssCrM3b.shown,’X’)}
Last edit: 1 week 1 day ago by Viniasco.

Please Log in to join the conversation.

Moderators: Nickkoholchtpartner

Lime-years ahead

Online-surveys for every purse and purpose