Utilisation d'un seul scénario et conditions "if a AND b THEN c" ou "if a OR b THEN c"

Par défaut, limesurvey considère que les conditions sont cumulatives (AND). Concrètement cela veut dire que par défaut, la condition la plus simple qui peut être créée, en impliquant 2 arguments pour obtenir le résultat, est analogue à celle montrée dans la copie d'écran ci-dessous :

  • Elle n'implique que le "Default scenario",
  • Elle pose une condition sur deux questions différentes (G1Q1 et G1Q2) et cette condition est automatiquement un "AND".


Toujours avec un seul scénario, on voit que si on écrit une condition basée sur une seule question (G1Q1) et plusieurs de ses options de réponse, la condition est automatiquement un "OR".


Le fait que l'on obtienne ces deux conditions, "AND" et "OR", à partir de deux arguments pris, respectivement dans deux questions différentes et dans une question unique, est très logique. L'auteur d'un questionnaire est intéressé-e le plus souvent par ces deux cas de figure :

  • On veut qu'une question n'apparaisse que si deux réponses particulières ont été données dans deux questions différentes,
  • On veut qu'une question n'apparaisse que si une première option ou une seconde a été donnée dans une seule question.


Notons alors qu'on peut construire ainsi des conditions plus compliquées, mélangeant des "AND" et des "OR" avec un seul scénario. La copie d'écran ci-dessous en donne le principe de fonctionnement.

  • On a repris la condition "OR" montrée dans la copie d'écran précédente (basée sur deux options d'une seule question G1Q1),
  • On y a ajouté une autre condition basée sur une option d'une seconde question G1Q2,
  • Limesurvey ajoute automatiquement un "AND" pour cette nouvelle condition,
  • La condition globale écrite se lit : (G1Q1_No OR G1Q1_Yes) AND G1Q2_Yes


Attention à un piège : Si vous voulez écrire une condition qui exclut plusieurs options d'une réponse précédente, (par exemple des options de réponse "Jaune" et "Rouge" dans une question proposant encore d'autres options : "Bleu", "Vert", etc.) :

  • Une écriture analogue à celle ci-dessous aura toujours une valeur logique égale à 1 (à cause du "OR"). 
  • Il faut écrire une telle condition en utilisant l'option montrée dans la copie d'écran suivante. C'est une possibilité des questions à choix multiples, par exemple, avec lesquelles on peut composer des conditions en sélectionnant des valeurs particulières ([jaune][Single checkbox] ou [rouge][Single checkbox])) d'une question comme G2Q1. La condition placée alors entre les deux options à exclure est un "AND" et la valeur logique sera bien 1 si et seulement si les deux options proscrites sont cochées.    


Utilisation de plusieurs scénarios pour créer une condition “if a OR b THEN c” aussi complexe que voulue

Pour pouvoir proposer des conditions de type OR (if a OR b THEN c), il faut utiliser les scénarios. En effet, limesurvey applique un OR entre chaque scénario. Il est donc nécessaire de créer 2 scénarios.

La procédure est la suivante :

  1. Créez les questions "a" et "b",

  2. Créez la question "c", puis cliquez sur le bouton intitulé "Set conditions"


  3. Ajoutez le premier scénario en cliquant sur le bouton "Add scénario" :


  4. Et :
    1. Donnez lui un numéro (1)
    2. Choisissez la question "a" (2)
    3. Choisissez une réponse (ici "1") (3)
    4. Cliquez sur le bouton "Add condition"(4)


  5. Répétez le processus ci-dessus pour le deuxième scénario.
    Attention à donner un autre numéro au scénario et à sélectionner la question "b".

Le résultat sera le suivant :


Vous pouvez alors tester le fonctionnement de la question "c" :

Cas 1, l'utilisateur ne choisit l'option 1 ni à la question "a", ni à la question "b". En conséquence, la question "c" n'est pas affichée.


Cas 2, l'utilisateur choisit l'option 1 à la question "a" ou à la question "b". En conséquence, la question "c" est affichée.


Pour plus de détails, voir le chapitre concernant les conditions, et plus particulièrement les scénarios :

https://manual.limesurvey.org/Setting_conditions/en#Using_ORed_conditions_between_different_questions:_the_use_of_scenario

Modifié le: lundi 14 mai 2018, 09:16