Actions

Setting conditions/fr: Difference between revisions

From LimeSurvey Manual

(Updating to match new version of source page)
(Created page with "''(condition2 ET condition4)''")
 
(139 intermediate revisions by 3 users not shown)
Line 3: Line 3:


{TRANSLATED(lang="en")}[[Setting conditions]]{TRANSLATED}
{TRANSLATED(lang="en")}[[Setting conditions]]{TRANSLATED}


=Conditions existantes=
=Conditions existantes=


LimeSurvey has a very powerful logical branching feature. It can be accessed by clicking on the '''Set conditions''' button - [[File:conditions_icon.png]] - located on each [[Question bar options|question bar]].


In this chapter we will describe:
LimeSurvey possède une fonctionnalité de branchement logique très puissante. Il est accessible en cliquant sur le bouton '''Définir les conditions''' - [[File:conditions_icon.png]] - situé sur chaque [[Options de la barre d'outils des questions|barre des questions]].
* what conditions you can find in LimeSurvey
 
* what you can and can't do with conditions
Dans ce chapitre, nous décrirons :
* what steps you need to learn to setup simple or more complex conditions
* quelles conditions vous pouvez trouver dans LimeSurvey
* ce que vous pouvez et ne pouvez pas faire avec les conditions
* quelles étapes vous devez apprendre pour configurer des conditions simples ou plus complexes
 
Pour obtenir des instructions vidéo étape par étape, consultez [http://www.youtube.com/watch?v=oexr0z-eo9U ce didacticiel] ou téléchargez l'échantillon d'enquête sur les conditions : [[Media:LimeSurvey_Survey_Setting_Conditions.zip|LimeSurvey_Survey_Setting_Conditions.zip] ].
 


For step-by-step video instructions check out [http://www.youtube.com/watch?v=oexr0z-eo9U this tutorial] or download the condition sample survey: [[Media:LimeSurvey_Survey_Setting_Conditions.zip|LimeSurvey_Survey_Setting_Conditions.zip]].
{{Hint|Text=Les fonctionnalités des conditions fonctionnent comme une interface graphique pour [[ExpressionScript - Présentation|les expressions et équations pouvant être appliquées aux questions]], permettant aux utilisateurs d'augmenter facilement la complexité de leurs enquêtes sans entrer dans les expressions et la pertinence. équations. Cependant, [[ExpressionScript - Présentation|l'ExpressionScript]] doit être étudié/connu pour augmenter la gamme d'options disponibles dans LimeSurvey.}}


==Hide/Show Branching Versus Jump Branching==


You can design logical branching with LimeSurvey, this means that you can decide that some questions will be displayed only if some conditions are met like "Show question X if question Y was answered 'Z'".
==Masquer/Afficher les branchements par rapport aux branchements sautés==


Our approach is to implement a '''Hide/Show Branching Logic''':
* you can define a condition or a set of conditions on each question of your survey: if the condition is met, the question will be displayed


<div class='simplebox'> [[File:help.png]] Simply put:
Vous pouvez concevoir des branchements logiques avec LimeSurvey, ce qui signifie que vous pouvez décider que certaines questions ne seront affichées que si certaines conditions sont remplies, comme "Afficher la question X si la réponse à la question Y était Z".
* a question without a condition defined on it will always be displayed
* a question with a condition defined on it will not be displayed unless the condition is met</div>


This approach is different from the '''Jump Branching Logic''' that is sometimes implemented by other software. In the '''Jump Branching Logic''', the resulting action of a met condition would be to jump to another question (that is to say hide all questions in between). '''LimeSurvey doesn't implement this Jump Branching Logic''' method. Instead, if you wish to jump a series of questions, you should simply set the same condition on all the questions you do not wish to be displayed. For example, if the jump condition you want to set on Question2 is "Jump to Question5 if the answer to Question1 is 'Yes'", you can simply:
Notre approche consiste à mettre en œuvre une '''Masquer/Afficher une logique de branchement''' :
*set a condition on questions 2, 3 and 4 to only display "if the answer to Question1 was NOT 'Yes'"
* vous pouvez définir une condition ou un ensemble de conditions sur chaque question de votre enquête - si la condition est remplie, la question sera alors affiché :




Line 33: Line 33:




LimeSurvey makes setting the same condition on multiple questions (and thus implementing '''Jump Branching Logic''') easy by allowing you to "copy" a condition from one question to a series of others. In the above example, you would begin by setting the condition on Question2, then from the same screen you would copy that condition to Question3 and Question4.
<div class='simplebox'>[[File:help.png]] En termes simples :
* une question sans condition définie sera toujours affichée;
* une question avec une condition définie ne sera affichée que si la condition est remplie .</div>
 
Cette approche est différente de la '''Jump Branching Logic''' qui est parfois implémentée par d'autres logiciels. Dans la '''Jump Branching Logic''', l'action résultant d'une condition remplie serait de passer à une autre question (c'est-à-dire de masquer toutes les questions intermédiaires). '''LimeSurvey n'implémente pas cette méthode Jump Branching Logic'''. Au lieu de cela, si vous souhaitez sauter une série de questions, vous devez simplement définir la même condition pour toutes les questions que vous ne souhaitez pas afficher. Par exemple, si la condition de saut que vous souhaitez définir sur la question 2 est "Sauter à la question 5 si la réponse à la question 1 est 'Oui'", vous pouvez simplement :
*définir une condition sur les questions 2, 3 et 4 pour afficher uniquement "si la réponse à la question 1 était '''NON''' 'Oui'"
 
LimeSurvey facilite la définition de la même condition sur plusieurs questions (et donc la mise en œuvre de '''Jump Branching Logic''') en vous permettant de "copier" une condition d'une question à une série d'autres. Dans l'exemple ci-dessus, vous commenceriez par définir la condition sur la question 2, puis, à partir du même écran, vous copieriez cette condition sur la question 3 et la question 4.
 
<div class='simplebox'>[[File:help.png]] Pour en savoir plus sur la façon dont vous pouvez copier des conditions dans LimeSurvey, veuillez continuer à lire la [[Définition des conditions#Comment copier les conditions|section wiki]].</div>




==Supported Types of Conditions==
==Types de conditions pris en charge==


Basically, a condition can compare values, returning either true or false.


The values that can be compared are '''answers to previous questions'''. For instance, If you answered 'Yes' to Question1, you Question2 will then be showed to the survey respondent:
Fondamentalement, une condition peut comparer des valeurs et renvoyer vrai ou faux.
 
Les valeurs pouvant être comparées sont les '''réponses aux questions précédentes'''. Par exemple, si vous répondez « Oui » à la question 1, la question 2 sera alors présentée au répondant :




Line 49: Line 59:




It is important at this point to understand what is considered as an eligible question-entry for the condition editor:
À ce stade, il est important de comprendre ce qui est considéré comme une entrée de question éligible pour l’éditeur de conditions.
 
Une '''question-saisie''' est soit :
* une question simple (pour tous les types de questions sauf les questions Array)
** par exemple : des questions textuelles, des listes radio ou déroulantes, et même des choix multiples questions
* ou une ligne dans les questions Array (sauf pour les questions Array dual scale et Array multiple flexible)
** par exemple : tableau avec 5 boutons radio ou tableau avec questions d'étiquette
* ou soit la partie gauche ou la partie droite d'une question Array à double échelle
* ou chaque cellule d'une question Array flexible


A '''question-entry''' is either:
{{Remarque|Consultez les [[Types de questions|lien]] suivants pour en savoir plus sur les types de questions disponibles dans LimeSurvey.}}
* a simple question (for all question types apart from Array questions)
** for instance: text questions, radio or dropdown lists, and even multiple choices questions
* or a row in Array questions (except for Array dual scale and Array Multiple Flexible questions),
** for instance: Array of 5 radio buttons, array with label questions
* or either the left part or the right part of an Array dual scale question
* or each cell of an Array Flexible question


As a matter of simplification, ''question-entries'' are just called "Question" in this document and the condition editor.
* '''valeurs constantes'''
* '''constant values'''
** par exemple : "Si vous avez répondu plus de 18 ans à la question ci-dessous"
** for instance: "If you answered more than 18 years to Question2"




Line 67: Line 78:




* '''Participant's profile data:''' To use data from the survey participants table, "Anonymized responses" must be set to NO.  This option can be found in survey participant settings tab.
* '''Données de profil des participants :''' Pour utiliser les données du tableau des participants à l'enquête, les « Réponses anonymisées » doivent être définies sur '''NON'''. Cette option se trouve dans le panneau [[Paramètres des participants|Paramètres des participants]] de l'enquête.




Line 73: Line 84:




Several comparison operators are supported from the simple "equals", to the advanced "Regular Expression":
<hr width="50%" style="margin:auto">  
* The basic ones are equality, and inequality
 
* The greater/less than operator family is also available, and is usually only useful when using numeric question-entries
** Please note that comparisons on numeric fields honor the numeric order: for instance 2 < 10
** If you're using a question entry whose type is text, then the condition could be evaluated as "2" > "10" (string order)!
** Numeric questions, as well as text questions (when they have the 'numbers_only' attribute set), will use the numeric order for comparisons
* An advanced comparison operator using regular expressions is also available.
* The "Regular Expression" operator (don't panic: If you don't know what this means, then you don't need it)
** the pattern is '''not''' to be enclosed in '/' characters
** for instance: '''[a-zA-Z]$'''


==How can I combine conditions==
Plusieurs opérateurs de comparaison sont pris en charge - du simple « égal » à l'« expression régulière » avancée :
* Les opérateurs de base font référence aux opérations « égal » et « différent de » 
* Le « plus grand/moins La famille d'opérateurs than'' est également disponible et est généralement utilisée lors de l'utilisation d'entrées de questions numériques
** Veuillez noter que les comparaisons sur les champs numériques utilisent l'ordre numérique. Par exemple, 2 < 10
** Si vous utilisez une entrée de question dont le type est texte, la condition peut être évaluée comme "2" > "10" (ordre des chaînes) !
** Questions numériques, ainsi que les questions textuelles (lorsqu'elles ont l'attribut 'numbers_only' défini), utiliseront l'ordre numérique pour les comparaisons !N !* Un opérateur de comparaison avancé utilisant des expressions régulières est également disponible (pas de panique ! Si vous ne savez pas ce que cela signifie, alors vous n'en avez pas besoin)
** le motif '''ne doit pas''' être entouré de caractères '/'
** par exemple : '''[a-zA -Z]$'''
 
 
==Comment puis-je combiner les conditions ?==
 
 
Vous pouvez '''construire des conditions complexes''' en '''combinant des conditions simples''' avec les opérateurs logiques '''ET'' et '''OU '''.




Line 90: Line 106:




You can '''build complex conditions''' by '''combining simple conditions''' with the '''AND '''and '''OR '''logical operators.
Cependant, il est important de comprendre que '''LimeSurvey détermine automatiquement quel opérateur logique appliquer'''. Cela signifie que l'utilisation des opérateurs '''OU '''ou '''ET '''est déterminée '''selon le contexte''' de la condition. Dans l'exemple ci-dessus, il n'y a qu'un seul scénario. Cela signifie que LimeSurvey utilise l'[https://en.wikipedia.org/wiki/Boolean_algebra Algèbre booléenne], ce qui signifie que l'opérateur '''ou''' est « calculé » en premier.
 
Nous parlerons davantage des conditions complexes [[Setting_conditions#L'utilisation de scénarios - Utilisation de conditions OR entre différentes questions|plus tard]]. Attardons-nous d'abord ensemble sur les élémentaires.
 
=Le concepteur des conditions=
 
 
Tout d'abord, vous devez accéder aux [[Options de la barre d'outils des questions#La barre d'outils des questions|Concepteur de conditions]]. Pour cela, cliquez sur la question à laquelle vous souhaitez appliquer la condition :
 
 
<center>[[File:Question designer search question.png]]</center>
 
 
Maintenant, recherchez le bouton « Définir les conditions » situé dans la barre de questions supérieure :
 
 
<center>[[File:Question designer set conditions.png]]</center>
 
 
Une fois accédée, la page suivante s'affichera :
 
 
<center>[[File:Question designer top.png]]</center>
 
 
Le panneau du concepteur de conditions peut être divisé en trois sections :
* [[Définition des conditions#La barre d'outils du concepteur de conditions|La barre d'outils du concepteur de conditions]]
* [[Définition des conditions#Aperçu des conditions existantes|La question existante actuelle conditions]]
* [[Définir les conditions#Ajouter/Modifier les conditions|Ajouter/modifier le menu de conditions]]
 
 
==La barre d'outils du concepteur de conditions==
 
 
Vous pouvez trouver sur la barre d'outils les options suivantes :
 
 
<center>[[File:Show conditions designer toolbar.png]]</center>
 
 
*'''Afficher les conditions pour cette question''' : Cliquez sur ce bouton pour obtenir un aperçu rapide des conditions existantes actuelles qui sont appliquées à votre question.
 
*'''Ajouter et modifier des conditions''' : Il représente la page par défaut qui s'ouvre automatiquement une fois que vous cliquez sur le bouton '''Définir les conditions'''. Il est divisé en deux parties : (1) un tableau affichant toutes les conditions et scénarios existants, et (2) le [[Définir les conditions#Ajouter/Modifier les conditions|menu ajouter/modifier les conditions]].
 
*'''Copier les conditions''' : Parfois, vous souhaitez appliquer la même condition à X questions afin d'afficher la question Y à la fin. Pour cela, cliquez sur '''Copier les conditions'''. Une nouvelle fenêtre s'ouvrira affichant les conditions existantes actuelles ajoutées à votre question (appelons-la question3). Pour les ajouter à la question5, cochez les conditions que vous souhaitez copier, sélectionnez la question5, et cliquez sur le bouton '''Copier les conditions''' situé en bas à gauche du panneau. Pour plus d'informations, veuillez continuer à lire la [[Définition des conditions#Comment copier les conditions|section wiki]].
 
*'''Enregistrer et fermer''' : Une fois que vous avez terminé les modifications, cliquez sur '''Enregistrer et fermer''' pour enregistrer vos conditions.
 
*'''Déplacer vers la question''' : Afin de ne pas quitter le panneau de conception de conditions en passant à une autre question, utilisez l'option suivante pour sélectionner dans la liste déroulante la question suivante à laquelle vous souhaitez appliquer des conditions. Veuillez noter que la liste déroulante affiche les questions affichées dans l'enquête avant et après la question actuelle.
 
*'''Fermer''' : Si vous souhaitez quitter le panneau sans effectuer de modifications, vous pouvez soit aller directement à l'onglet paramètres/structure et sélectionner l'option souhaitée, soit cliquer sur '''Fermer''', qui se trouve en haut à droite de l'écran.
 
 
==Aperçu des conditions existantes==
 
 
Cette section affiche un tableau qui contient tous les scénarios et conditions existants d'une question. Certaines actions peuvent être effectuées à partir d'ici :
 
 
<center>[[FIle:Show conditions for this questions pic.png]]</center>
 
 
*Dans la partie supérieure droite, trois actions sont disponibles :
**Ajout rapide de conditions - cela accélère le processus d'ajout de conditions (lisez [[Setting conditions#Add/Edit conditions|below]] pour en savoir plus sur toutes les options )
**Renuméroter les scénarios - si vous cliquez dessus, les scénarios seront renumérotés avec des numéros incrémentiels commençant à un. Veuillez noter que cette option ne s'affiche que si deux scénarios ou plus sont appliqués à votre question.
**Supprimer toutes les conditions - vous pouvez supprimer via cette action toutes les conditions et scénarios existants actuellement appliqués à votre question.
 
 
<center>[[FIle:Conditions designer quickadd and delete.png]]</center>
 


However, it is important to understand that '''LimeSurvey automatically determines which logical operator to apply''': this means that the use of the '''OR '''or '''AND '''operators is determined '''according to the context''' of the condition.
*En plus du numéro d'identification de chaque scénario, il y a trois boutons qui vous permettent d'effectuer les actions suivantes :
**Supprimer le scénario
**Changer le numéro du scénario
**Ajouter une condition à ce scénario - cliquez dessus bouton pour ajouter une autre condition au scénario souhaité


We'll talk about complex conditions [[Setting_conditions#Using_ORed_conditions_between_different_questions:_the_use_of_scenario|later]], but let's start by the simple ones first.


=Understanding Simple conditions: elementary conditions=
<center>[[FIle:Conditions Designer table scenarios.png]]</center>


==Accessing the editor screen==


First you need to access the condition editor:
*Deux actions peuvent être effectuées sur chaque condition :
* open the condition menu by clicking on the ''conditions icon'' in the question button bar, when viewing a question.
**Supprimer la condition  
* then click on the ''Add and edit conditions icon'', the edit conditions screen will appear allowing you to create, edit or delete conditions for the current question.
**Modifier la condition - si vous cliquez dessus, vous pourrez modifier la condition à partir du menu [[Définir les conditions#Ajouter/Modifier les conditions|conditions ]]


The following screen will appear:


<center>[[FIle:Conditions Designer table conditions.png]]</center>


<center>[[File:edit-conditions-EditorView.png]]</center>
==Ajouter/Modifier des conditions==




Note: for the moment '''don't modify the default scenario''' ([[File:default_scenario.png]]) that is automatically selected in the condition addition form: we'll discuss this later.
La partie inférieure de l'écran est affectée au menu Ajouter/Modifier des conditions :


==Definition of elementary conditions==


An elementary condition is simply a single condition '''without any OR or AND''' logical operators.
<center>[[File:Add_edit_condition_q.png]]</center>


It is composed by:
 
* a left operand: the ''tested value''
<div class='simplebox'>Vous pouvez également éditer la condition depuis le même endroit si vous avez appuyé au préalable sur le crayon vert qui correspond à la question que vous souhaitez éditer (voir le [[Conditions de paramétrage#Aperçu des conditions existantes|tableau des conditions et scénarios]]).</div>
** you can choose the ''tested value'' type by selecting the appropriate tab in the condition editor
 
Pour comprendre le fonctionnement de la fonctionnalité conditions dans LimeSurvey, nous présenterons dans un premier temps les conditions élémentaires.
 
 
<div class='simplebox'>[[File:help.png]] '''Note''' : Pour le moment '''ne modifiez pas le scénario par défaut''' ([[File:default_scenario.png]]) qui est automatiquement sélectionné dans le formulaire d’ajout de condition. Cela sera abordé plus tard dans cette [[Définition des conditions#L'utilisation des scénarios - Utilisation des conditions OR entre différentes questions|section wiki]].</div>
 
 
===Définition des conditions élémentaires===
 
 
Une condition élémentaire est simplement une condition unique '''sans aucun opérateur logique OU ou ET'''.
 
Elle est composée de :
* un opérande de gauche : la "valeur testée". Vous pouvez choisir le type « valeur testée » en sélectionnant l'onglet approprié dans l'éditeur de conditions. Il peut s'agir d'une question précédente ou d'un attribut de [[Participants à l'enquête|participant à l'enquête]].




Line 124: Line 222:




* a ''comparison operator''
Si vous sélectionnez une saisie de question (depuis l'onglet '''Questions précédentes''') et si cette question utilise des réponses prédéfinies, alors les réponses prédéfinies correspondantes sont affichées sous l'onglet '''Prédéfinies''' de la sélection des valeurs de comparaison. .
** Choose the ''comparison operator'' you want to apply in the dropdown list




<center>[[File:conditions-operators.png]]</center>
<div class='simplebox'>[[File:help.png]] Notez que pour utiliser le jeton, votre enquête doit :
*ne pas utiliser de [[Paramètres des participants|réponses anonymes]]
*utiliser un [[Participants à l'enquête|tableau des participants à l'enquête ]] et [[Paramètres des participants|accès fermé]].</div>




* a right operand: the ''comparison value''
* un « opérateur de comparaison ». Choisissez l'"opérateur de comparaison" que vous souhaitez appliquer dans la liste déroulante ("inférieur à", "inférieur ou égal à", "égal à", "différent de", " supérieur ou égal à'', ''supérieur à'', ''[[ExpressionScript - Présentation|expression régulière]]'').
** you can choose the ''comparison value'' type by selecting the appropriate tab in the condition editor
 
 
* un opérande de droite : la "valeur de comparaison". Vous pouvez choisir le type « valeur de comparaison » en sélectionnant l'onglet approprié dans l'éditeur de conditions. Lorsque vous créez une condition, vous pouvez sélectionner comme valeur de comparaison une valeur prédéfinie (réponse), une constante, une question, un attribut de participant à l'enquête ou une expression régulière :




<center>[[File:edit-conditions-comparisonvalueTab.png]]</center>
<center>[[File:edit-conditions-comparisonvalueTab.png]]</center>


===Exemple de conditions élémentaires et comment les créer===


==Example of elementary conditions and how to create them==
 
* Show question IF "the answer to Question1 was the predefined answer 'Male'"
* Afficher la question 'AAMN' '''si''' "la réponse à la question 'Sexe' est la réponse prédéfinie 'Homme'"
** ''tested value'' = answer to Question1
** ''valeur testée'' = réponse à la question 'Sexe'
** ''comparison operator'' = equals
** ''opérateur de comparaison'' = égal à
** ''comparison value'' = answer code of the 'Male' answer
** ''valeur de comparaison'' = code de réponse prédéfini (la réponse 'Homme' dans ce cas)




Line 148: Line 250:




* Show question IF "the answer to Question2 was greater than the numerical value '5'"
* Afficher la question 'Alcool' '''si''' "la réponse à la question 'Âge' est supérieure ou égale à la valeur numérique '18'"
** ''tested value''= answer to Question2
** ''valeur testée'' = réponse à la question 'Âge '
** ''comparison operator''= greater than
** ''opérateur de comparaison'' = supérieur ou égal à
** ''comparison value''= the constant value 5
** ''valeur de comparaison'' = la valeur constante '18'




Line 157: Line 259:




<div class='simplebox'>'''Caution''': When using a constant 'comparison value' for a date question, you must enter the value with the YYY-MM-DD format, whatever the date format is set for current survey.<div class="simplebox">
{{Alert|title=Attention|text=Lorsque vous utilisez une « valeur de comparaison » constante pour une question de date, quel que soit le format de date défini dans votre enquête, vous devez utiliser le format de date AAAA-MM-JJ.}}
* Show question IF "the answer to Question3 was greater than the answer to Question2"
** ''tested value''= answer to Question3
** ''comparison operator''= greater than
** ''comparison value''= answer to Question2</div>




<center>[[File:edit-simple-condition-prevQuestion.png]]</center>
* Afficher la question 'Alcool' '''si''' "la réponse à la question 'BirthDate' est supérieure au 2000-01-01'''"
** ''valeur testée'' = réponse à la question 'BirthDate' '
** ''opérateur de comparaison'' = Supérieur ou égal à
** ''valeur de comparaison'' = '2000-01-01' (le format dans le champ constant : 2000-01-01 )




* Show question IF "the 'Department' value from the participant's profile (Token Attribute from the invitation) equals the 'Accounting' string"
<center>[[File:Date time example condition.png]]</center>
** ''tested value''= the 'Department' value taken from the token invitation
 
** ''comparison operator''= equals
 
** ''comparison value''= the constant value 'Accounting'
* Afficher la question 'Alcool' '''si''' "l'historique de consommation d'alcool [[Participants à l'enquête|attribut du participant]]" correspond à la chaîne 'Oui'.
** ''valeur testée''= le ' Valeur DrinkingHistory extraite du [[Participants à l'enquête#Gérer les attributs|tableau des participants à l'enquête]]
** « opérateur de comparaison » = égal à
** « valeur de comparaison » = la valeur constante « Oui »
 


<center>[[File:edit-simple-condition-leftToken.png]]</center>
<center>[[File:edit-simple-condition-leftToken.png]]</center>


Detailed instructions on how to set up the above example can be found at this blog post: "[http://www.limesurvey-consulting.com/limesurvey-conditions-based-on-token-attributes/ Conditions based on token attributes]"
=Conditions et scénarios dans LimeSurvey=
 
 
==Combinaisons de conditions par défaut==


=Default condition combinations=


As said earlier, LimeSurvey automatically decides which logical operator (AND or OR) should be applied between conditions depending on the 'context'.
Comme indiqué précédemment, LimeSurvey décide automatiquement quel opérateur logique (ET ou OU) doit être appliqué entre les conditions en fonction du « contexte ».


Note also that '''the order in which you define your elementary conditions is not relevant''' as LimeSurvey will automatically reorder them according to its own logic.
Notez également que '''l'ordre dans lequel vous définissez vos conditions élémentaires n'est pas pertinent''' puisque LimeSurvey les réordonnera automatiquement selon sa propre logique.


Let's study this in detail.
Étudions cela en détail. Deux règles doivent toujours être mémorisées :
* [[Conditions de définition#Première règle : les conditions ayant la même valeur testée sont reliées par un OU|Première règle]] : les conditions ayant la même « valeur testée » sont reliées par un OU 
* [[Conditions de définition#Deuxième règle : les conditions ayant des valeurs testées différentes sont associées ensemble | Deuxième règle]] : les conditions ayant des valeurs testées différentes sont associées ensemble




==First rule: conditions having the same ''tested value'' are ORed together==
===Première règle : les conditions ayant la même « valeur testée » sont combinées en OU===


When you have several conditions they are '''ORed''' together if they share the same '''tested value'''
* this is the case for instance for several possible answers of the same previous question: "If answer to Question1 equals 'green' '''OR'''  answer to Question1 equals 'red'  '''OR'''  answer to Question1 equals 'blue'"


Lorsque vous avez plusieurs conditions, elles sont '''ORed''' ensemble si elles partagent la même '''valeur testée'''. C'est le cas si la condition s'applique à plusieurs réponses appartenant à une même question. Par exemple, une condition a été appliquée ci-dessous à trois réponses appartenant à la même question - si la réponse à la question « FavColour » est égale à « vert » « « OU » la réponse à la question « FavColour » est égale à « rouge » « « OU » '' La réponse à la question « FavColour » est égale à « bleu », alors la question « BirthDate » sera affichée au répondant à l'enquête :


<center>[[File:edit-conditions-naturalOr-edit.png]][[File:edit-conditions-naturalOr-result.png]]</center>


<center>[[File:edit-conditions-naturalOr-edit.png]]


==Second rule: conditions having different ''tested value'' are ANDed together==
[[File:edit-conditions-naturalOr-result.png]]</center>


When you have several conditions, they are '''ANDed''' together if they don't share the same '''tested values'''
* this is the case for instance for several conditions based on different previous questions: "If answer to Question1 equals '4' '''AND''' answer to Question2 equals 'green'"


<div class='simplebox'>[[File:help.png]] Remarque : Pour sélectionner plusieurs réponses prédéfinies, n'oubliez pas de maintenir la touche Maj ou Ctrl enfoncée tout en sélectionnant les '''valeurs testées'''.</div>


[[File:edit-conditions-naturalAND-editA.png]]  [[File:edit-conditions-naturalAND-editB.png]]  [[File:edit-conditions-naturalAND-result.png]]


===Deuxième règle : les conditions ayant des « valeurs testées » différentes sont combinées par ET ===


==Third rule: ORed elementary conditions take precedence over the other ANDed conditions==


Imagine you define the 3 following sets of conditions:
Lorsque vous avez plusieurs conditions, elles sont '''ET''' ensemble si elles ne partagent pas les mêmes '''valeurs testées'''. Par exemple, vous pouvez voir ci-dessous le cas de plusieurs conditions basées sur différentes questions précédentes - "Si la réponse à la question 'Alcool' est égale à 'Y', répondez '''ET''', la réponse à la question 'Sexe' est égale à 'F'", la question « Consommation d'alcool » sera alors affichée au répondant à l'enquête :
*IF answer to Question "Type !" was 'Green'
*IF answer to question "Type 5" was '4'
*IF answer to question "Type A" was '4' or '5'


[[File:edit-conditions-naturalAND-editA.png]][[File:edit-conditions-naturalAND-editB.png]][[File:edit-conditions-naturalANDandOR-editC.png]]
* Then the resulting conditions will be:


[[File:edit-conditions-naturalANDandOR-result.png]]
<center>[[File:edit-conditions-naturalAND-editA.png]]  
**Note the '''capital 'OR'''' and the '''lower case 'and'''': this means that ORed conditions are evaluated as if prioritized with parentheses
**Note also that the order of the elementary conditions creation is not preserved and has no importance here
** The resulting conditions is: IF (answer to question "Type A" was '4' '''OR  '''answer to question "Type A" was '4') '''AND '''(IF answer to question "Type 5" was '4') '''AND '''(IF answer to Question "Type !" was 'Green')


[[File:edit-conditions-naturalAND-editB.png]] </center>


==The multiple options questions==
<center>[[File:edit-conditions-naturalAND-result.png]]</center>


Note: This paragraph applies to ''Multiple options'' and ''Multiple options with comments'' questions, and not to ''Array Multiple Flexible (number) with checkbox layout'' questions (for this later question type, each checkbox is a separate question-entry and is not really handled as other multiple options question-types).
 
===Les questions à options multiples===
 
 
<div class='simplebox'>[[File:help.png]] '''Remarque :''' Ce paragraphe s'applique aux questions « Options multiples » et « Options multiples avec commentaires », et non aux questions « Tableau multiple flexible (nombre) avec questions de disposition des cases à cocher (dans ce dernier cas, chaque case à cocher est une entrée de question distincte et n'est pas vraiment traitée comme d'autres types de questions à options multiples).</div>
 
 
Les types de questions « Choix multiple » et « Choix multiple avec commentaires » seront affichés en deux versions :
* une version « Groupe de cases à cocher » qui vous permet de définir des conditions sur toutes les réponses possibles des questions respectives. question;
* un ensemble d'entrées « Case à cocher unique » qui vous permet de définir des conditions sur chaque case à cocher individuellement.




<center>[[File:edit-conditions-MultipleOptions1.png]]</center>
<center>[[File:edit-conditions-MultipleOptions1.png]]</center>


For ''Multiple options'' and ''Multiple options with comments'' questions, in the ''tested value''part of the condition editor this question will appear in two flavors
* a ''Group of checkboxes'' flavor which let you set conditions on all possible answers of this question
* a set of ''Single checkbox'' entries which let you set conditions on each checkbox individually


And now let's test your knowledge of conditions by trying to answer this question:
====Le groupe de cases à cocher saveur====
* I've got a multiple options question:
** Issue A: How can I set ORed conditions between different answers of this question
** Issue B: How can I set ANDed conditions between different answers of this question


...


...
Maintenant, concentrons-nous sur un exemple pour mieux comprendre la différence entre les deux saveurs. Imaginons que nous souhaitions afficher la question « Pointchoice » uniquement si le répondant coche au moins une des « réponses testées » répertoriées sous la question « Organisations multiples ».  


...
Comme mentionné ci-dessus, le groupe de cases à cocher vous permet de définir des conditions sur toutes les réponses possibles à la question respective. Par conséquent, seules les options qui font référence aux responsabilités sont sélectionnées comme « valeurs de comparaison » ci-dessous :


Now the answers...


For Issue A:
<center>[[File:edit-conditions-MultipleOptionsOR.png]]</center>
* Use the ''Group of checkboxes'' entry as your ''tested value'' and select as much answers you want




[[File:edit-conditions-MultipleOptionsOR.png]][[File:edit-conditions-MultipleOptionsOR-result.png]]
Comme nous pouvons l'observer, les conditions sont soumises à un OU en raison de la saveur « Groupe de cases à cocher » sélectionnée au début. :  




For Issue B:
<center>[[File:edit-conditions-MultipleOptionsOR-result.png]]</center>
* Use the ''Single checkbox'' entry that correspond to the first answer you need to set the condition on and set the condition to the ''checked'' ''comparison value''




====Conditions ET dans les questions à choix multiples====


<center>[[File:edit-conditions-MultipleOptionsAND1.png]]</center>


Maintenant, concentrons-nous sur un exemple similaire. Cependant, nous recherchons cette fois uniquement les membres les plus actifs pour leur poser d'autres questions. Pour ce faire, nous utilisons la version « Case à cocher unique » qui vous permet de définir des conditions en fonction de chaque case à cocher individuellement.


* Use the ''Single checkbox'' entry that correspond to the second answer you need to set the condition on and set the condition to the ''checked'' ''comparison value''
Dans cet exemple, la question X sera affichée si « A » et « B » sont cochées :




<center>[[File:edit-conditions-MultipleOptionsAND2.png]]</center>
<center>[[File:edit-conditions-MultipleOptionsAND2.png]]</center>


<center>[[File:edit-conditions-MultipleOptionsAND3.png]]</center>


* Enjoy the result:
 
Une fois cela fait, vous pouvez observer que les deux conditions sont maintenant liées par ET.




Line 270: Line 371:




=Using ORed conditions between different questions: the use of scenario=
Cela signifie que votre question ne sera affichée que si les deux valeurs testées (les sous-questions sélectionnées) sont remplies.
 
 
==L'utilisation de scénarios - Utilisation de conditions OR entre différentes questions==


Now, you may argue that sometimes you need to have '''ORed''' conditions even when they are set on different questions (that is to say on different '''tested values'''): this is where scenarios can be used.


Maintenant, vous pouvez affirmer que parfois vous avez besoin d'avoir des conditions « ORed » même lorsqu'elles sont définies sur des questions différentes (c'est-à-dire sur des « valeurs testées » différentes). C'est pourquoi nous avons des scénarios !


</center>[[File:multi_scenario.png]]<center>


===Définition d'un scénario===


==Definition of a scenario==


A scenario is simply '''a manual grouping of conditions''' in which conditions are evaluated independently of conditions from other scenarios. The complex condition resulting in this association of several scenarios will be met if only one scenario is met: in other words scenarios are '''logical grouping of conditions''', respecting the above rules, and '''which are ORed together''' to build complex conditions.
Un scénario est simplement '''un regroupement manuel de conditions''' dans lequel certaines conditions sont évaluées indépendamment des autres conditions issues d'autres scénarios. La condition complexe résultant de cette association de plusieurs scénarios ne sera remplie que si un seul scénario est réalisé. En d'autres termes, les scénarios sont des '''regroupements logiques de conditions''', respectant les [[Conditions de définition#Combinaisons de conditions par défaut|règles]] ci-dessus, et '''qui sont reliées ensemble''' pour créer des conditions complexes.


All what we described above is true inside a scenario, and by default all new conditions are created inside the "Default Scenario".
Tout ce qui est décrit ci-dessus s'applique aux conditions situées dans chaque scénario. Par défaut, toutes les nouvelles conditions sont créées dans le « Scénario par défaut », qui utilise le numéro « 1 » comme identifiant. Lorsque vous créez de nouvelles conditions, vous pouvez choisir si elles sont ajoutées ou non au scénario par défaut. Pour changer de scénario, il suffit d'utiliser un autre identifiant.


However, when you create a new elementary condition, you decide to affect it to another scenario than the default one.


Scenarios are identified by a simple number, the "Default scenario" having number '1' as its identifier.
===Ajout d'une question à un autre scénario===




==Adding a question to another scenario==
Lorsque vous créez (ou éditez) une condition, vous pouvez modifier le scénario dans lequel la condition est stockée en cliquant simplement sur le bouton ajouter un scénario :


When you create (or edit) a condition, you can modify the scenario in which the condition is stored:


<center>[[File:edit-conditions-EditorView-Scenario.png]]</center>
<center>[[File:edit-conditions-EditorView-Scenario.png]]</center>


If you need to define a condition in another scenario than the default one, click the new scenario icon [[File:plus.png]], and type in the scenario number: [[File:default_scenario_edit.png]]


The number id of a scenario has no importance and different scenarios can have non-continuous ids.
Comme vous pouvez le constater, le scénario par défaut utilise comme identifiant « 1 ». Pour ajouter des conditions à différents scénarios, modifiez l'identifiant en tapant un numéro différent dans la case.


Le numéro d'identification d'un scénario n'a aucune importance et différents scénarios peuvent avoir des identifiants non continus.


<center>[[File:edit-conditions-EditorView-Scenario2.png]]</center>


<center>[[File:Conditions test ids.png]]</center>


=Using the editor=


==Editor overview==
Vous pouvez modifier le numéro attribué à un scénario en cliquant sur cette icône [[File:scenario_edit.png]] et en attribuant le nouvel identifiant au scénario.


First you access the condition editor:
* open the condition menu by clicking on the ''conditions icon'' in the question button bar, when viewing a question.


The top part of the window always shows any conditions already set for this question:
<center>[[File:edit_scenario_conditions.png]]</center>




<center>[[File:existing_conditions.png]]</center>
<div class='simplebox'>[[File:help.png]] '''Remarque :''' Comme indiqué ci-dessus, les numéros de scénario n'ont aucun impact sur la manière dont les conditions sont évaluées. Cependant, une modification des numéros de scénarios est nécessaire afin de :
* décider dans quel ordre les scénarios sont affichés lors de l'utilisation de la version imprimable d'une enquête
* fusionner les conditions de deux scénarios (afin de fusionner le scénario 10 avec le scénario 1, il suffit de renuméroter le scénario 10, pour qu'il soit le scénario 1).</div>




In the example above question B is set to only display if:
===Exemple : créer trois scénarios===
* The answer to the question-entry FBI of previous question A is "1"
* AND
** EITHER the answer to the question-entry CIA of previous question A is "5"
** OR the answer to the question-entry CIA of previous question A is "3"


In Add/Edit mode [[File:conditions_add.png]], some specific actions are possible on each line such as:
* edit condition [[File:conditions_edit.png]]
* delete all conditions [[File:conditions_deleteall.png]], delete this condition [[File:conditions_delete.png]], delete all conditions from this scenario [[File:scenario_delete.png]]
* edit scenario [[File:scenario_edit.png]]


Pour créer trois scénarios, vous avez besoin d'au moins trois conditions et d'ajouter à chacune d'elles un identifiant de scénario différent. Une fois cela fait, les scénarios vont être connectés entre eux via l'opérateur 'OR'. Par exemple, cela pourrait ressembler à ceci :


<center>[[File:edit-conditions-EditModeButtons.png]]</center>


In Copy mode [[File:conditions_copy.png]], each line is prepended with a checkbox allowing you to select those conditions you want to copy to later questions:
<center>[[File:edit-conditions-EditorView-Scenario2.png]]</center>


== AND vs OR dans le même scénario ==


<center>[[File:copying_conditions.png]]</center>


Vous pouvez vous retrouver dans certains cas avec des opérateurs logiques AND et OR dans le même scénario :


==Setting new conditions==


===First select the scenario===
<center>[[File:And vs OR example.png]]</center>


'''If you don't need ORed conditions''' between different question-entries, '''just don't modify the default scenario''' ([[File:default_scenario.png]]) that is automatically selected in the condition edition form.


On the contrary, if you need to define a condition in another scenario than the default one, click the new scenario icon [[File:plus.png]], and type in the scenario number: [[File:default_scenario_edit.png]]
LimeSurvey s'appliquera toujours en premier OU. Pour plus de détails à ce sujet, vous pouvez consulter l'article Wikipédia suivant sur [https://en.wikipedia.org/wiki/Boolean_algebra Algèbre booléenne].


The number id of a scenario has no importance and different scenarios can have non-continuous ids.
Cependant. l'ordre des opérations peut également être observé dans le champ Équation de pertinence. Pour l'exemple ci-dessus, l'équation de pertinence est mise en évidence ci-dessous :




===Select the ''tested value''===
<center>[[File:AND vs OR relevance eq.png]]</center>


Click on the tab corresponding to the type of the ''tested value'' you want: it is either a previous question or a value taken from the profile of the participant (token attribute).


Note that '''in order to use the ''Token''''' your survey must:
Comme on peut le constater, un jeu de parenthèses supplémentaires est ajouté pour les opérations logiques OU afin de faire savoir au logiciel qu'il doit être "calculé" en premier.
* '''not use anonymous answers'''
* '''use a token table''' and closed access


Then select the entry you want as ''tested value''.


If you select a question-entry (from the 'Previous questions' tab) and if this question uses predefined answers then the corresponding predefined answers are displayed in the ''Predefined'' tab of the ''comparison value'' selection.
<div class='simplebox'>[[File:help.png]] '''Aide :''' Pour plus d'informations sur les équations de pertinence, consultez les sections wiki [[ExpressionScript - Présentation]] et [[QS:Relevance|relevance équation]].</div>


===Select the comparison operator===
=Comment copier les conditions=




<center>[[File:comparison_operators_conditions.png]]</center>
La fonctionnalité de copie des conditions peut être utilisée lorsque vous souhaitez appliquer le même ensemble de conditions que celles que vous avez appliquées à la question 5 à la question 10. De cette façon, vous n’aurez pas à recréer manuellement les conditions que vous avez appliquées à la ou aux questions précédentes.


Pour commencer à copier les conditions, vous devez d'abord sélectionner la question à laquelle la ou les conditions sont appliquées (question 'LowQ' dans notre cas). Sélectionnez ensuite les conditions que vous souhaitez copier et sélectionnez la question à laquelle vous souhaitez ajouter les conditions (Question 'Alcool' dans notre cas).


Several comparison operators can be used:
* The basic ones are equality, and inequality
* The greater/less than operator family is also available, and is usually only useful when using numeric question-entries
** Please note that comparisons on numeric fields honor the numeric order: for instance 2 < 10
** If you're using a question entry whose type is text, then the condition could be evaluated as "2" > "10" (string order).
** Numeric questions, as well as text questions having the 'numbers_only' attribute set, will use the numeric order for comparisons
* An advanced comparison operator using regular expressions is also available. When selected, the answer input box will automatically switch to the advanced mode.


===Selecting an ''comparison value''===
<center>[[File:Copy conditions panel.png]]</center>


Select the tab that corresponds to the type of ''comparison value'' you need: it can be a predefined answers, a constant value, an answer from a previous question, a value from a token attribute, or a regular expression (reserved for the advanced regular expression operator).


Then select or type in the value you want to use.
<div class='simplebox'>[[FILe:help.png]] '''Remarque :''' Les conditions ne peuvent être définies qu'en fonction des questions qui apparaissent avant la question sur laquelle la condition est définie.</div>


Note that if you select a value in a tab, then change the tab and select another value in this other tab, the first option you selected is lost.
Veuillez faire attention au fonctionnement des conditions de copie lorsque vous souhaitez copier et appliquer un ensemble de conditions situées dans différents scénarios à une autre question qui utilise des numéros d'identification de scénario identiques ou différents. Pour résumer les cas possibles que vous pourriez rencontrer, vérifiez l'exemple suivant :


When using ''predefined answers'', you can then select one or more predefined answers:
* vous souhaitez copier le Scénario 1 - Condition A, le Scénario 1 - Condition B, le Scénario 7 - Condition C et le Scénario 7 - Condition D de QuestionX vers QuestionY
* the possible answers for that question
*La QuestionY contient déjà le Scénario 1 - Condition A, Scénario - Condition C , Scénario 6 - Condition E, Scénario 8- Condition F.
** Choose the answer that you want to use
*Une fois copiées, les conditions suivantes seront appliquées à QuestionY:
** You can choose multiple answers in one go by using the CTRL button and clicking on more than one answer in the right hand select list
**Scénario 1 : Condition A, Condition B, Condition C -> ''' La condition A n'est plus copiée car elle existe déjà dans QuestionY, seule la condition B est copiée.'''
**Scénario 6 : Condition E -> non affecté
**Scénario 7 : Condition C, Condition D - > '''un nouveau scénario est créé où les deux conditions y sont ajoutées'''
**Scénario 8 : Condition F -> non affecté


After that click on the "Add Condition" button.


==Editing/Deleting conditions==
=Réinitialiser les conditions=


Apart from adding new conditions, the Add/Edit can be used to
* edit conditions
* delete conditions
* edit scenario


===Edit conditions===
Pour réinitialiser rapidement toutes les conditions de l'enquête, cliquez sur un paramètre lié à l'enquête, recherchez « Outils » dans la barre d'outils supérieure, puis cliquez sur « Réinitialiser les conditions : »


By clicking on the edit icon [[File:conditions_edit.png]] on a condition line, the edit condition form at the bottom is automatically displayed with the current settings for this condition. Note that in this mode you can only select one predefined answer.


Click the update condition button to update this condition.
<center>[[File:Reset_conditions_location.png]]</center>


===Delete conditions===


You can:
Ensuite, confirmez sur la page suivante que vous souhaitez continuer et toutes les conditions seront supprimées.  
* delete a single condition by clicking on this icon [[File:conditions_delete.png]]
* delete all conditions within a scenario by clicking on this icon [[File:scenario_delete.png]]
* delete all conditions from this question by clicking on this icon [[File:conditions_deleteall.png]]


===Edit Scenario===


You can change the number assigned to a scenario by clicking this Icon [[File:scenario_edit.png]] and fill-in the form that appears on the same line.
= Choses à surveiller =


[[File:edit_scenario_conditions.png]]


Alternatively, you can renumber scenarios by clicking on this icon [[File:scenario_renumber.png]].
==Considérations générales==


As said above, scenario numbers have no impact in the way conditions are evaluated. However, modifying the scenario numbers are needed in order to:
Il y a quelques règles de base que vous devez garder à l'esprit avant de définir des conditions sur une question :
* decide in which order the scenario are displayed when using the printable version of a survey
*Une fois qu'une seule condition a été définie pour une question, cette question '''ne sera pas affichée''' à moins que cette condition ne soit remplie. .
* merge conditions from 2 scenarios (in order to merge scenario 10 to scenario 1, just renumber scenario 10 with scenario id 1).
*Les conditions ne peuvent être définies qu'en fonction des questions qui apparaissent '''avant''' la question sur laquelle la condition est définie.
*Si vous modifiez l'ordre des questions dans votre enquête après avoir créé les conditions, LimeSurvey ne vous avertit pas si la commande modifiée enfreint l'une de vos conditions. Vous devez toujours mettre de côté la création de conditions jusqu'à ce que vous soyez satisfait de l'ordre des questions et des groupes dans votre enquête.
*Vous pouvez modifier les conditions même après l'activation d'une enquête. Cela doit être fait avec prudence, car aucune « vérification de cohérence » n’est appliquée ici.


==Copying conditions to later questions==


It is not uncommon for a group of questions to have the same condition. Luckily you can copy this condition to any subsequent question from the conditions designer once a first condition has been set.
==Conditions utilisant la réponse prédéfinie 'pas de réponse'==


Switch to the copy mode by clicking the on the Copy conditions icon [[File:conditions_copy.png]].


[[File:copy_conditions_example.png]]
<center>[[File:noanswer_conditions.png]]</center>


The conditions applying to the current questions are displayed with a checkbox on their left. You can:
* select each condition individually by checking the checkbox on the left of the condition
* or select all conditions from a scenario at a time by checking the checkbox on the left of the scenario


Then select all subsequent questions in the survey on which you want to copy the selected conditions from the bottom Select box by highlighting them (using the CTRL key to select multiples). Then click on the "Copy Conditions" button to copy them across.
Définir la condition suivante "Afficher la question 'FavColour' si la réponse à la question 'Sexe' est 'pas de réponse'" signifie en réalité "afficher la question 'FavColour' si la question 'Sexe' a été affichée au participant à l'enquête qui n'a pas soumis de réponse" .


It is usually best to leave this until you have finished entering all your survey questions, and are satisfied with the question order.


=Things to watch out for=
{{Hint|Text=Pour que l'option de non-réponse soit affichée comme réponse prédéfinie, la question ne peut pas être [[QS:Mandatory|obligatory]].}}


==General considerations==


There are a few basic rules you should keep in mind before setting conditions on a question:
==Conditions enchaînées==
*Once a single condition has been set for a question, that question '''will not display''' unless that condition is met.
*Conditions can only be set based on questions that appear '''before''' the question on which the condition is set.
*If you change the order of questions in your survey after you create conditions LimeSurvey does not warn you if the changed order will break a condition. You should always leave the creation of conditions until you are satisifed with the order of questions and groups in your survey.
*You can modify conditions even after a survey has been activated. This should be done with caution, as there is no "consistency checking" applied here.


==Conditions using the 'no answer' predefined answer==


Si vous fixez des conditions sur une question qui, elle-même, comporte des conditions, votre enquête risque de se comporter d'une manière que vous n'auriez peut-être pas prévue. Par exemple, un effet secondaire typique est que si vous masquez toutes les questions d'un groupe avec des conditions chaînées, l'en-tête du groupe sera toujours affiché à moins que vous ne corrigiez ces conditions comme expliqué ci-dessous.


<center>[[File:noanswer_conditions.png]]</center>


Setting the following condition "Show question Q20 if answer to question Q1 is 'no answer'" really means "show question Q20 if question Q1 was displayed and received no answer". This is not equivalent to "show question Q20 if question Q1 was not displayed"
<center>[[File:chained_conditions1.png]]</center>


==Chained conditions==


If you set conditions on a question that, itself, has conditions, then there may arise occasions where the survey behaves in ways you might not have predicted. For example a typical side-effect is that if you hide all questions in a group with chained conditions that the group header will still be shown unless you correct these conditions as explained below.
<center>[[File:chained_conditions2_bad.png]]</center>




<center>[[File:chained_conditions1.png]]</center>
Dans l'exemple ci-dessus, la question « Alcool » s'affiche si le répondant a déjà répondu à la question « AAMN » « Non (N) ». Cependant, la question « AAMN » pourrait ne pas être affichée à la fin si le répondant n'a pas choisi la réponse « Homme (M) » à la question précédente (« Sexe »). Dans ce scénario, aucune question « Alcool » ne sera affichée si « Homme (M) » a été choisi précédemment.


Pour afficher la question « Alcool », vous devez copier les conditions de la ou des questions précédentes dans celle que vous modifiez. Pour afficher la question « Alcool », vous devez définir l'ensemble de conditions suivant :
* Afficher « AAMN » si la réponse à « Sexe » est « Homme (M) »
* Afficher « Alcool » si la réponse à « Sexe » est « Homme (M) » « et » si la réponse à « AAMN » est Non (N) ».


<center>[[File:chained_conditions2_bad.png]]</center>
Après correction, l'ensemble correct de conditions pour « Alcool » devrait ressembler à ceci :




In the example above a question is displayed 'Do you like being male?' which has conditions set, and which will only display if the answer to ''What is your gender?'' is ''M''. If you were to add a condition to this question requiring a specific answer from the ''Do you like being male?'' question, then this question will never display, because the question ''Do you like being male'' will not be presented.
<center>[[File:chained_conditions2_good.png]]</center>


It is highly recommended that you copy the conditions from the earlier question to the one you're editting.


For instance, you want the following:
Ainsi, si vous concevez une enquête complexe comportant un grand nombre de conditions, assurez-vous de tester l'enquête pour autant de combinaisons différentes de résultats que vous pouvez imaginer.
* Q1 is a Gender question
* Q2 is a Yes/No and is displayed if answer to Q1 is Male
* Q3 is a ranking question and is displayed if Q2 is Yes


What you really need to setup is the following set of conditions:
<div class='simplebox'>[[File:help.png]] Pour en savoir plus sur la façon dont vous pouvez copier des conditions dans LimeSurvey, veuillez faire défiler vers le haut ou cliquer ici pour continuer à lire la section dédiée [[Setting_conditions#How_to_copy_conditions|wiki]].</div>
* on Q2: display question if answer to Q1 is Male
* on Q3: display question if answer to Q1 is Male AND answer to Q2 is Yes


After correction, the correct set of conditions for Q3 should look like:


==Limites et solutions de contournement==


<center>[[File:chained_conditions2_good.png]]</center>


===Barre de progression===


So if you are designing a complicated survey with large number of conditions, make sure you test the survey for as many different combinations of results as you can think of.


Si vous créez une enquête dans laquelle de nombreuses questions sont ignorées en raison de conditions, la barre de progression saute par-dessus un ensemble de questions ou l'enquête se termine à 50 %.


==Limitations and workarounds==
Pour éviter un tel comportement, les questions qui pourraient être ignorées doivent être disposées entre les questions affichées. De cette façon, seules une ou deux questions sont ignorées par réponse.


===Progress-bar===
Par exemple, en fonction de la question 1 (question oui ou non), 14 questions (2A à 15A) seront affichées si la réponse à la question 1 est « Oui », ou 2B à 15B si la réponse à la question 1 est « Non ».


If you create a survey where many questions get skipped because of conditions, the progress bar will jump a big step forward, or the survey ends at 50%.
Si vous organisez les questions en un seul groupe et les disposez comme 2A, 2B, 3A, 3B, etc., vous obtiendrez une barre de progression presque correcte, tout en organisant les questions comme 2A, 3A, 4A, [...], 2B, 3B, 4B, ... vous obtiendrez une barre de progression de 0 à 50% ou de 50% à 100%, selon la réponse à la première question.


To avoid such behavior, the questions that could be skipped, should be arranged between the shown questions, so that only one or two questions get skipped per answer.


For Example: based on question one (yes or no question) 14 questions will be asked question 2A to 15A when the answer of question one was yes, 2B to 15B when the answer to question one was no.
=== Définition d'une valeur de comparaison constante pour un type de question "Date" ===


If you arrange the questions in one group and arrange them like: 2A, 2B, 3A, 3B, and so on you will get a nearly correct progress bar, while arranging the questions like 2A, 3A, 4A, [...], 2B, 3B, 4B, ... you will get a progress bar from 0 to 50% or from 50% to 100%, depending on the answer to the first question.


Vous devez utiliser la représentation interne des valeurs de Date (qui est '''AAAA-MM-JJ''') pour définir votre valeur de comparaison constante.


=== Setting a constant comparison value for a "Date" Question Type===


You have to use the internal representation of Date values, which is YYYY-MM-DD to define your constant comparison value.
=== Définition des conditions pour les options « Autres » dans le type de question à options multiples ===




=== Setting conditions for "Other" Options in the Multiple Options Question Type===
Dans le type de question à options multiples, vous pouvez utiliser le « Autre » fourni dans le type de question comme choix valide, mais vous ne pouvez pas y définir de conditions. Par exemple, la question n° 1 dit « Quelle couleur préférez-vous utiliser ? » Les choix de cases à cocher de réponse sont Bleu, Noir et Autre. Si le participant choisit Bleu, vous pouvez définir une condition. Si le participant choisit Noir, vous pouvez définir une condition différente. '''Cependant, si le participant choisit « Autre » et tape quelque chose dans la zone de texte, il n'y a AUCUN moyen de définir une condition.''' LimeSurvey ne reconnaît pas si le participant a choisi la condition « Autre ». Ce n'est PAS un bug mais une limitation.


In the multiple options question type, you can use the "Other" provided in the question type as a valid choice but you cannot set conditions on it. For example: Question No 1 says "Which color do your prefer to use?" Answer checkbox choices are Blue, Black and Other. If the participant chooses Blue, you can set a condition. If the participant chooses Black, you can set a different condition. However, if the participant chooses "Other" and types in something in the text box, there is NO way a condition can be set. LimeSurvey does not recognize if the participant chose the "Other" condition. This is NOT a bug but a limitation.
Il n'y a pas de champ réel enregistré pour la case à cocher « autre » pour ce type de question. Ainsi, la seule façon de savoir si l'utilisateur a répondu ou non à « l'autre » partie de la question serait de vérifier si la valeur du texte écrit dans l'autre champ de saisie est vide ou non.


There is no real field recorded for the 'other' checkbox for this question type. Thus, the only way to know if the user has answered the 'other' part of the question or not would be to check if the value of the text written in the other input field is empty or not.
Cependant, en raison de la manière spécifique dont sont traitées les questions à choix multiples, le test du champ de saisie de texte « autre » n'a jamais été mis en œuvre.


However, due to the specific way we handle Multiple choice questions, testing the 'other' text input field has never been implemented.
Pour contourner le problème, ajoutez une option de réponse explicite appelée « Autre » et n'utilisez pas l'option « autre » intégrée à ces types de questions. Ajoutez ensuite une courte question textuelle supplémentaire qui s'affichera si cette case « Autre » a été cochée.


As a workaround, add an explicit answer option called 'Other' and do not use the built-in 'other' option of these question types. Then add an additional short text question which will be displayed if this 'Other' checkbox was clicked.


===Comment utiliser les parenthèses pour les expressions booléennes ?===


===How to use parenthesis for the boolean expressions?===


'''''You can't!'''''
'''''Tu ne peux pas !'''''


If you want to design something like:
Si vous souhaitez concevoir quelque chose comme :


 (condition1 OR condition2) AND (condition3 OR condition4)
''(condition1 OU condition2)'' ET ''(condition3 OU condition4)'',


you'll have to set up:
vous devrez configurer :


 (condition1 AND condition3) OR
''(condition1 ET condition3)'' OU


 (condition1 AND condition4) OR
''(condition1 ET condition4)'' OU


 (condition2 AND condition3) OR
''(condition2 ET condition3)'' OU


 (condition2 AND condition4)
''(condition2 ET condition4)''

Latest revision as of 08:32, 28 September 2023

Ce contenu n'est pas à jour, pour avoir un contenu à jour, veuillez vous rendre sur la page anglaise:

{TRANSLATED(lang="en")}Setting conditions{TRANSLATED}


Conditions existantes

LimeSurvey possède une fonctionnalité de branchement logique très puissante. Il est accessible en cliquant sur le bouton Définir les conditions - - situé sur chaque barre des questions.

Dans ce chapitre, nous décrirons :

  • quelles conditions vous pouvez trouver dans LimeSurvey
  • ce que vous pouvez et ne pouvez pas faire avec les conditions
  • quelles étapes vous devez apprendre pour configurer des conditions simples ou plus complexes

Pour obtenir des instructions vidéo étape par étape, consultez ce didacticiel ou téléchargez l'échantillon d'enquête sur les conditions : [[Media:LimeSurvey_Survey_Setting_Conditions.zip|LimeSurvey_Survey_Setting_Conditions.zip] ].


 Hint: Les fonctionnalités des conditions fonctionnent comme une interface graphique pour les expressions et équations pouvant être appliquées aux questions, permettant aux utilisateurs d'augmenter facilement la complexité de leurs enquêtes sans entrer dans les expressions et la pertinence. équations. Cependant, l'ExpressionScript doit être étudié/connu pour augmenter la gamme d'options disponibles dans LimeSurvey.


Masquer/Afficher les branchements par rapport aux branchements sautés

Vous pouvez concevoir des branchements logiques avec LimeSurvey, ce qui signifie que vous pouvez décider que certaines questions ne seront affichées que si certaines conditions sont remplies, comme "Afficher la question X si la réponse à la question Y était Z".

Notre approche consiste à mettre en œuvre une Masquer/Afficher une logique de branchement :

  • vous pouvez définir une condition ou un ensemble de conditions sur chaque question de votre enquête - si la condition est remplie, la question sera alors affiché :



En termes simples :
  • une question sans condition définie sera toujours affichée;
  • une question avec une condition définie ne sera affichée que si la condition est remplie .

Cette approche est différente de la Jump Branching Logic qui est parfois implémentée par d'autres logiciels. Dans la Jump Branching Logic, l'action résultant d'une condition remplie serait de passer à une autre question (c'est-à-dire de masquer toutes les questions intermédiaires). LimeSurvey n'implémente pas cette méthode Jump Branching Logic. Au lieu de cela, si vous souhaitez sauter une série de questions, vous devez simplement définir la même condition pour toutes les questions que vous ne souhaitez pas afficher. Par exemple, si la condition de saut que vous souhaitez définir sur la question 2 est "Sauter à la question 5 si la réponse à la question 1 est 'Oui'", vous pouvez simplement :

  • définir une condition sur les questions 2, 3 et 4 pour afficher uniquement "si la réponse à la question 1 était NON 'Oui'"

LimeSurvey facilite la définition de la même condition sur plusieurs questions (et donc la mise en œuvre de Jump Branching Logic) en vous permettant de "copier" une condition d'une question à une série d'autres. Dans l'exemple ci-dessus, vous commenceriez par définir la condition sur la question 2, puis, à partir du même écran, vous copieriez cette condition sur la question 3 et la question 4.

Pour en savoir plus sur la façon dont vous pouvez copier des conditions dans LimeSurvey, veuillez continuer à lire la section wiki.


Types de conditions pris en charge

Fondamentalement, une condition peut comparer des valeurs et renvoyer vrai ou faux.

Les valeurs pouvant être comparées sont les réponses aux questions précédentes. Par exemple, si vous répondez « Oui » à la question 1, la question 2 sera alors présentée au répondant :





À ce stade, il est important de comprendre ce qui est considéré comme une entrée de question éligible pour l’éditeur de conditions.

Une question-saisie est soit :

  • une question simple (pour tous les types de questions sauf les questions Array)
    • par exemple : des questions textuelles, des listes radio ou déroulantes, et même des choix multiples questions
  • ou une ligne dans les questions Array (sauf pour les questions Array dual scale et Array multiple flexible)
    • par exemple : tableau avec 5 boutons radio ou tableau avec questions d'étiquette
  • ou soit la partie gauche ou la partie droite d'une question Array à double échelle
  • ou chaque cellule d'une question Array flexible

Template:Remarque

  • valeurs constantes
    • par exemple : "Si vous avez répondu plus de 18 ans à la question ci-dessous"



  • Données de profil des participants : Pour utiliser les données du tableau des participants à l'enquête, les « Réponses anonymisées » doivent être définies sur NON. Cette option se trouve dans le panneau Paramètres des participants de l'enquête.





Plusieurs opérateurs de comparaison sont pris en charge - du simple « égal » à l'« expression régulière » avancée :

  • Les opérateurs de base font référence aux opérations « égal » et « différent de » 
  • Le « plus grand/moins La famille d'opérateurs than est également disponible et est généralement utilisée lors de l'utilisation d'entrées de questions numériques
    • Veuillez noter que les comparaisons sur les champs numériques utilisent l'ordre numérique. Par exemple, 2 < 10
    • Si vous utilisez une entrée de question dont le type est texte, la condition peut être évaluée comme "2" > "10" (ordre des chaînes) !
    • Questions numériques, ainsi que les questions textuelles (lorsqu'elles ont l'attribut 'numbers_only' défini), utiliseront l'ordre numérique pour les comparaisons !N !* Un opérateur de comparaison avancé utilisant des expressions régulières est également disponible (pas de panique ! Si vous ne savez pas ce que cela signifie, alors vous n'en avez pas besoin)
    • le motif ne doit pas être entouré de caractères '/'
    • par exemple : [a-zA -Z]$


Comment puis-je combiner les conditions ?

Vous pouvez construire des conditions complexes' en combinant des conditions simples avec les opérateurs logiques ET et OU .



Cependant, il est important de comprendre que LimeSurvey détermine automatiquement quel opérateur logique appliquer. Cela signifie que l'utilisation des opérateurs OU ou ET est déterminée selon le contexte de la condition. Dans l'exemple ci-dessus, il n'y a qu'un seul scénario. Cela signifie que LimeSurvey utilise l'Algèbre booléenne, ce qui signifie que l'opérateur ou est « calculé » en premier.

Nous parlerons davantage des conditions complexes plus tard. Attardons-nous d'abord ensemble sur les élémentaires.

Le concepteur des conditions

Tout d'abord, vous devez accéder aux Concepteur de conditions. Pour cela, cliquez sur la question à laquelle vous souhaitez appliquer la condition :



Maintenant, recherchez le bouton « Définir les conditions » situé dans la barre de questions supérieure :



Une fois accédée, la page suivante s'affichera :



Le panneau du concepteur de conditions peut être divisé en trois sections :


La barre d'outils du concepteur de conditions

Vous pouvez trouver sur la barre d'outils les options suivantes :



  • Afficher les conditions pour cette question : Cliquez sur ce bouton pour obtenir un aperçu rapide des conditions existantes actuelles qui sont appliquées à votre question.
  • Ajouter et modifier des conditions : Il représente la page par défaut qui s'ouvre automatiquement une fois que vous cliquez sur le bouton Définir les conditions. Il est divisé en deux parties : (1) un tableau affichant toutes les conditions et scénarios existants, et (2) le menu ajouter/modifier les conditions.
  • Copier les conditions : Parfois, vous souhaitez appliquer la même condition à X questions afin d'afficher la question Y à la fin. Pour cela, cliquez sur Copier les conditions. Une nouvelle fenêtre s'ouvrira affichant les conditions existantes actuelles ajoutées à votre question (appelons-la question3). Pour les ajouter à la question5, cochez les conditions que vous souhaitez copier, sélectionnez la question5, et cliquez sur le bouton Copier les conditions situé en bas à gauche du panneau. Pour plus d'informations, veuillez continuer à lire la section wiki.
  • Enregistrer et fermer : Une fois que vous avez terminé les modifications, cliquez sur Enregistrer et fermer pour enregistrer vos conditions.
  • Déplacer vers la question : Afin de ne pas quitter le panneau de conception de conditions en passant à une autre question, utilisez l'option suivante pour sélectionner dans la liste déroulante la question suivante à laquelle vous souhaitez appliquer des conditions. Veuillez noter que la liste déroulante affiche les questions affichées dans l'enquête avant et après la question actuelle.
  • Fermer : Si vous souhaitez quitter le panneau sans effectuer de modifications, vous pouvez soit aller directement à l'onglet paramètres/structure et sélectionner l'option souhaitée, soit cliquer sur Fermer, qui se trouve en haut à droite de l'écran.


Aperçu des conditions existantes

Cette section affiche un tableau qui contient tous les scénarios et conditions existants d'une question. Certaines actions peuvent être effectuées à partir d'ici :



  • Dans la partie supérieure droite, trois actions sont disponibles :
    • Ajout rapide de conditions - cela accélère le processus d'ajout de conditions (lisez below pour en savoir plus sur toutes les options )
    • Renuméroter les scénarios - si vous cliquez dessus, les scénarios seront renumérotés avec des numéros incrémentiels commençant à un. Veuillez noter que cette option ne s'affiche que si deux scénarios ou plus sont appliqués à votre question.
    • Supprimer toutes les conditions - vous pouvez supprimer via cette action toutes les conditions et scénarios existants actuellement appliqués à votre question.



  • En plus du numéro d'identification de chaque scénario, il y a trois boutons qui vous permettent d'effectuer les actions suivantes :
    • Supprimer le scénario
    • Changer le numéro du scénario
    • Ajouter une condition à ce scénario - cliquez dessus bouton pour ajouter une autre condition au scénario souhaité



  • Deux actions peuvent être effectuées sur chaque condition :
    • Supprimer la condition
    • Modifier la condition - si vous cliquez dessus, vous pourrez modifier la condition à partir du menu conditions


Ajouter/Modifier des conditions

La partie inférieure de l'écran est affectée au menu Ajouter/Modifier des conditions :



Vous pouvez également éditer la condition depuis le même endroit si vous avez appuyé au préalable sur le crayon vert qui correspond à la question que vous souhaitez éditer (voir le tableau des conditions et scénarios).

Pour comprendre le fonctionnement de la fonctionnalité conditions dans LimeSurvey, nous présenterons dans un premier temps les conditions élémentaires.


Note : Pour le moment ne modifiez pas le scénario par défaut () qui est automatiquement sélectionné dans le formulaire d’ajout de condition. Cela sera abordé plus tard dans cette section wiki.


Définition des conditions élémentaires

Une condition élémentaire est simplement une condition unique sans aucun opérateur logique OU ou ET.

Elle est composée de :

  • un opérande de gauche : la "valeur testée". Vous pouvez choisir le type « valeur testée » en sélectionnant l'onglet approprié dans l'éditeur de conditions. Il peut s'agir d'une question précédente ou d'un attribut de participant à l'enquête.



Si vous sélectionnez une saisie de question (depuis l'onglet Questions précédentes) et si cette question utilise des réponses prédéfinies, alors les réponses prédéfinies correspondantes sont affichées sous l'onglet Prédéfinies de la sélection des valeurs de comparaison. .


Notez que pour utiliser le jeton, votre enquête doit :


  • un « opérateur de comparaison ». Choisissez l'"opérateur de comparaison" que vous souhaitez appliquer dans la liste déroulante ("inférieur à", "inférieur ou égal à", "égal à", "différent de", " supérieur ou égal à, supérieur à, expression régulière).


  • un opérande de droite : la "valeur de comparaison". Vous pouvez choisir le type « valeur de comparaison » en sélectionnant l'onglet approprié dans l'éditeur de conditions. Lorsque vous créez une condition, vous pouvez sélectionner comme valeur de comparaison une valeur prédéfinie (réponse), une constante, une question, un attribut de participant à l'enquête ou une expression régulière :


Exemple de conditions élémentaires et comment les créer

  • Afficher la question 'AAMN' si "la réponse à la question 'Sexe' est la réponse prédéfinie 'Homme'"
    • valeur testée = réponse à la question 'Sexe'
** opérateur de comparaison = égal à
    • valeur de comparaison = code de réponse prédéfini (la réponse 'Homme' dans ce cas)



  • Afficher la question 'Alcool' si "la réponse à la question 'Âge' est supérieure ou égale à la valeur numérique '18'"
    • valeur testée = réponse à la question 'Âge '
    • opérateur de comparaison = supérieur ou égal à
    • valeur de comparaison = la valeur constante '18'



  Attention : Lorsque vous utilisez une « valeur de comparaison » constante pour une question de date, quel que soit le format de date défini dans votre enquête, vous devez utiliser le format de date AAAA-MM-JJ.



  • Afficher la question 'Alcool' si "la réponse à la question 'BirthDate' est supérieure au 2000-01-01"
    • valeur testée = réponse à la question 'BirthDate' '
    • opérateur de comparaison = Supérieur ou égal à
    • valeur de comparaison = '2000-01-01' (le format dans le champ constant : 2000-01-01 )



  • Afficher la question 'Alcool' si "l'historique de consommation d'alcool attribut du participant" correspond à la chaîne 'Oui'.
    • valeur testée= le ' Valeur DrinkingHistory extraite du tableau des participants à l'enquête
    • « opérateur de comparaison » = égal à
    • « valeur de comparaison » = la valeur constante « Oui »


Conditions et scénarios dans LimeSurvey

Combinaisons de conditions par défaut

Comme indiqué précédemment, LimeSurvey décide automatiquement quel opérateur logique (ET ou OU) doit être appliqué entre les conditions en fonction du « contexte ».

Notez également que l'ordre dans lequel vous définissez vos conditions élémentaires n'est pas pertinent puisque LimeSurvey les réordonnera automatiquement selon sa propre logique.

Étudions cela en détail. Deux règles doivent toujours être mémorisées :

  • Première règle : les conditions ayant la même « valeur testée » sont reliées par un OU 
*  Deuxième règle : les conditions ayant des valeurs testées différentes sont associées ensemble


Première règle : les conditions ayant la même « valeur testée » sont combinées en OU

Lorsque vous avez plusieurs conditions, elles sont ORed ensemble si elles partagent la même valeur testée. C'est le cas si la condition s'applique à plusieurs réponses appartenant à une même question. Par exemple, une condition a été appliquée ci-dessous à trois réponses appartenant à la même question - si la réponse à la question « FavColour » est égale à « vert » « « OU » la réponse à la question « FavColour » est égale à « rouge » « « OU » La réponse à la question « FavColour » est égale à « bleu », alors la question « BirthDate » sera affichée au répondant à l'enquête :



Remarque : Pour sélectionner plusieurs réponses prédéfinies, n'oubliez pas de maintenir la touche Maj ou Ctrl enfoncée tout en sélectionnant les valeurs testées.


Deuxième règle : les conditions ayant des « valeurs testées » différentes sont combinées par ET

Lorsque vous avez plusieurs conditions, elles sont ET ensemble si elles ne partagent pas les mêmes valeurs testées. Par exemple, vous pouvez voir ci-dessous le cas de plusieurs conditions basées sur différentes questions précédentes - "Si la réponse à la question 'Alcool' est égale à 'Y', répondez ET, la réponse à la question 'Sexe' est égale à 'F'", la question « Consommation d'alcool » sera alors affichée au répondant à l'enquête :



Les questions à options multiples

Remarque : Ce paragraphe s'applique aux questions « Options multiples » et « Options multiples avec commentaires », et non aux questions « Tableau multiple flexible (nombre) avec questions de disposition des cases à cocher (dans ce dernier cas, chaque case à cocher est une entrée de question distincte et n'est pas vraiment traitée comme d'autres types de questions à options multiples).


Les types de questions « Choix multiple » et « Choix multiple avec commentaires » seront affichés en deux versions :

  • une version « Groupe de cases à cocher » qui vous permet de définir des conditions sur toutes les réponses possibles des questions respectives. question;
  • un ensemble d'entrées « Case à cocher unique » qui vous permet de définir des conditions sur chaque case à cocher individuellement.



Le groupe de cases à cocher saveur

Maintenant, concentrons-nous sur un exemple pour mieux comprendre la différence entre les deux saveurs. Imaginons que nous souhaitions afficher la question « Pointchoice » uniquement si le répondant coche au moins une des « réponses testées » répertoriées sous la question « Organisations multiples ».

Comme mentionné ci-dessus, le groupe de cases à cocher vous permet de définir des conditions sur toutes les réponses possibles à la question respective. Par conséquent, seules les options qui font référence aux responsabilités sont sélectionnées comme « valeurs de comparaison » ci-dessous :



Comme nous pouvons l'observer, les conditions sont soumises à un OU en raison de la saveur « Groupe de cases à cocher » sélectionnée au début. :



Conditions ET dans les questions à choix multiples

Maintenant, concentrons-nous sur un exemple similaire. Cependant, nous recherchons cette fois uniquement les membres les plus actifs pour leur poser d'autres questions. Pour ce faire, nous utilisons la version « Case à cocher unique » qui vous permet de définir des conditions en fonction de chaque case à cocher individuellement.

Dans cet exemple, la question X sera affichée si « A » et « B » sont cochées :



Une fois cela fait, vous pouvez observer que les deux conditions sont maintenant liées par ET.



Cela signifie que votre question ne sera affichée que si les deux valeurs testées (les sous-questions sélectionnées) sont remplies.


L'utilisation de scénarios - Utilisation de conditions OR entre différentes questions

Maintenant, vous pouvez affirmer que parfois vous avez besoin d'avoir des conditions « ORed » même lorsqu'elles sont définies sur des questions différentes (c'est-à-dire sur des « valeurs testées » différentes). C'est pourquoi nous avons des scénarios !


Définition d'un scénario

Un scénario est simplement un regroupement manuel de conditions dans lequel certaines conditions sont évaluées indépendamment des autres conditions issues d'autres scénarios. La condition complexe résultant de cette association de plusieurs scénarios ne sera remplie que si un seul scénario est réalisé. En d'autres termes, les scénarios sont des regroupements logiques de conditions, respectant les règles ci-dessus, et qui sont reliées ensemble pour créer des conditions complexes.

Tout ce qui est décrit ci-dessus s'applique aux conditions situées dans chaque scénario. Par défaut, toutes les nouvelles conditions sont créées dans le « Scénario par défaut », qui utilise le numéro « 1 » comme identifiant. Lorsque vous créez de nouvelles conditions, vous pouvez choisir si elles sont ajoutées ou non au scénario par défaut. Pour changer de scénario, il suffit d'utiliser un autre identifiant.


Ajout d'une question à un autre scénario

Lorsque vous créez (ou éditez) une condition, vous pouvez modifier le scénario dans lequel la condition est stockée en cliquant simplement sur le bouton ajouter un scénario :



Comme vous pouvez le constater, le scénario par défaut utilise comme identifiant « 1 ». Pour ajouter des conditions à différents scénarios, modifiez l'identifiant en tapant un numéro différent dans la case.

Le numéro d'identification d'un scénario n'a aucune importance et différents scénarios peuvent avoir des identifiants non continus.



Vous pouvez modifier le numéro attribué à un scénario en cliquant sur cette icône et en attribuant le nouvel identifiant au scénario.



Remarque : Comme indiqué ci-dessus, les numéros de scénario n'ont aucun impact sur la manière dont les conditions sont évaluées. Cependant, une modification des numéros de scénarios est nécessaire afin de :
  • décider dans quel ordre les scénarios sont affichés lors de l'utilisation de la version imprimable d'une enquête
  • fusionner les conditions de deux scénarios (afin de fusionner le scénario 10 avec le scénario 1, il suffit de renuméroter le scénario 10, pour qu'il soit le scénario 1).


Exemple : créer trois scénarios

Pour créer trois scénarios, vous avez besoin d'au moins trois conditions et d'ajouter à chacune d'elles un identifiant de scénario différent. Une fois cela fait, les scénarios vont être connectés entre eux via l'opérateur 'OR'. Par exemple, cela pourrait ressembler à ceci :


AND vs OR dans le même scénario

Vous pouvez vous retrouver dans certains cas avec des opérateurs logiques AND et OR dans le même scénario :



LimeSurvey s'appliquera toujours en premier OU. Pour plus de détails à ce sujet, vous pouvez consulter l'article Wikipédia suivant sur Algèbre booléenne.

Cependant. l'ordre des opérations peut également être observé dans le champ Équation de pertinence. Pour l'exemple ci-dessus, l'équation de pertinence est mise en évidence ci-dessous :



Comme on peut le constater, un jeu de parenthèses supplémentaires est ajouté pour les opérations logiques OU afin de faire savoir au logiciel qu'il doit être "calculé" en premier.


Aide : Pour plus d'informations sur les équations de pertinence, consultez les sections wiki ExpressionScript - Présentation et relevance équation.

Comment copier les conditions

La fonctionnalité de copie des conditions peut être utilisée lorsque vous souhaitez appliquer le même ensemble de conditions que celles que vous avez appliquées à la question 5 à la question 10. De cette façon, vous n’aurez pas à recréer manuellement les conditions que vous avez appliquées à la ou aux questions précédentes.

Pour commencer à copier les conditions, vous devez d'abord sélectionner la question à laquelle la ou les conditions sont appliquées (question 'LowQ' dans notre cas). Sélectionnez ensuite les conditions que vous souhaitez copier et sélectionnez la question à laquelle vous souhaitez ajouter les conditions (Question 'Alcool' dans notre cas).



Remarque : Les conditions ne peuvent être définies qu'en fonction des questions qui apparaissent avant la question sur laquelle la condition est définie.

Veuillez faire attention au fonctionnement des conditions de copie lorsque vous souhaitez copier et appliquer un ensemble de conditions situées dans différents scénarios à une autre question qui utilise des numéros d'identification de scénario identiques ou différents. Pour résumer les cas possibles que vous pourriez rencontrer, vérifiez l'exemple suivant :

  • vous souhaitez copier le Scénario 1 - Condition A, le Scénario 1 - Condition B, le Scénario 7 - Condition C et le Scénario 7 - Condition D de QuestionX vers QuestionY
  • La QuestionY contient déjà le Scénario 1 - Condition A, Scénario - Condition C , Scénario 6 - Condition E, Scénario 8- Condition F.
  • Une fois copiées, les conditions suivantes seront appliquées à QuestionY:
    • Scénario 1 : Condition A, Condition B, Condition C -> La condition A n'est plus copiée car elle existe déjà dans QuestionY, seule la condition B est copiée.
    • Scénario 6 : Condition E -> non affecté
    • Scénario 7 : Condition C, Condition D - > un nouveau scénario est créé où les deux conditions y sont ajoutées
    • Scénario 8 : Condition F -> non affecté


Réinitialiser les conditions

Pour réinitialiser rapidement toutes les conditions de l'enquête, cliquez sur un paramètre lié à l'enquête, recherchez « Outils » dans la barre d'outils supérieure, puis cliquez sur « Réinitialiser les conditions : »



Ensuite, confirmez sur la page suivante que vous souhaitez continuer et toutes les conditions seront supprimées.


Choses à surveiller

Considérations générales

Il y a quelques règles de base que vous devez garder à l'esprit avant de définir des conditions sur une question :

  • Une fois qu'une seule condition a été définie pour une question, cette question ne sera pas affichée à moins que cette condition ne soit remplie. .
  • Les conditions ne peuvent être définies qu'en fonction des questions qui apparaissent avant la question sur laquelle la condition est définie.
  • Si vous modifiez l'ordre des questions dans votre enquête après avoir créé les conditions, LimeSurvey ne vous avertit pas si la commande modifiée enfreint l'une de vos conditions. Vous devez toujours mettre de côté la création de conditions jusqu'à ce que vous soyez satisfait de l'ordre des questions et des groupes dans votre enquête.
  • Vous pouvez modifier les conditions même après l'activation d'une enquête. Cela doit être fait avec prudence, car aucune « vérification de cohérence » n’est appliquée ici.


Conditions utilisant la réponse prédéfinie 'pas de réponse'


Définir la condition suivante "Afficher la question 'FavColour' si la réponse à la question 'Sexe' est 'pas de réponse'" signifie en réalité "afficher la question 'FavColour' si la question 'Sexe' a été affichée au participant à l'enquête qui n'a pas soumis de réponse" .


 Hint: Pour que l'option de non-réponse soit affichée comme réponse prédéfinie, la question ne peut pas être obligatory.


Conditions enchaînées

Si vous fixez des conditions sur une question qui, elle-même, comporte des conditions, votre enquête risque de se comporter d'une manière que vous n'auriez peut-être pas prévue. Par exemple, un effet secondaire typique est que si vous masquez toutes les questions d'un groupe avec des conditions chaînées, l'en-tête du groupe sera toujours affiché à moins que vous ne corrigiez ces conditions comme expliqué ci-dessous.




Dans l'exemple ci-dessus, la question « Alcool » s'affiche si le répondant a déjà répondu à la question « AAMN » « Non (N) ». Cependant, la question « AAMN » pourrait ne pas être affichée à la fin si le répondant n'a pas choisi la réponse « Homme (M) » à la question précédente (« Sexe »). Dans ce scénario, aucune question « Alcool » ne sera affichée si « Homme (M) » a été choisi précédemment.

Pour afficher la question « Alcool », vous devez copier les conditions de la ou des questions précédentes dans celle que vous modifiez. Pour afficher la question « Alcool », vous devez définir l'ensemble de conditions suivant :

  • Afficher « AAMN » si la réponse à « Sexe » est « Homme (M) »
  • Afficher « Alcool » si la réponse à « Sexe » est « Homme (M) » « et » si la réponse à « AAMN » est Non (N) ».

Après correction, l'ensemble correct de conditions pour « Alcool » devrait ressembler à ceci :



Ainsi, si vous concevez une enquête complexe comportant un grand nombre de conditions, assurez-vous de tester l'enquête pour autant de combinaisons différentes de résultats que vous pouvez imaginer.

Pour en savoir plus sur la façon dont vous pouvez copier des conditions dans LimeSurvey, veuillez faire défiler vers le haut ou cliquer ici pour continuer à lire la section dédiée wiki.


Limites et solutions de contournement

Barre de progression

Si vous créez une enquête dans laquelle de nombreuses questions sont ignorées en raison de conditions, la barre de progression saute par-dessus un ensemble de questions ou l'enquête se termine à 50 %.

Pour éviter un tel comportement, les questions qui pourraient être ignorées doivent être disposées entre les questions affichées. De cette façon, seules une ou deux questions sont ignorées par réponse.

Par exemple, en fonction de la question 1 (question oui ou non), 14 questions (2A à 15A) seront affichées si la réponse à la question 1 est « Oui », ou 2B à 15B si la réponse à la question 1 est « Non ».

Si vous organisez les questions en un seul groupe et les disposez comme 2A, 2B, 3A, 3B, etc., vous obtiendrez une barre de progression presque correcte, tout en organisant les questions comme 2A, 3A, 4A, [...], 2B, 3B, 4B, ... vous obtiendrez une barre de progression de 0 à 50% ou de 50% à 100%, selon la réponse à la première question.


Définition d'une valeur de comparaison constante pour un type de question "Date"

Vous devez utiliser la représentation interne des valeurs de Date (qui est AAAA-MM-JJ) pour définir votre valeur de comparaison constante.


Définition des conditions pour les options « Autres » dans le type de question à options multiples

Dans le type de question à options multiples, vous pouvez utiliser le « Autre » fourni dans le type de question comme choix valide, mais vous ne pouvez pas y définir de conditions. Par exemple, la question n° 1 dit « Quelle couleur préférez-vous utiliser ? » Les choix de cases à cocher de réponse sont Bleu, Noir et Autre. Si le participant choisit Bleu, vous pouvez définir une condition. Si le participant choisit Noir, vous pouvez définir une condition différente. Cependant, si le participant choisit « Autre » et tape quelque chose dans la zone de texte, il n'y a AUCUN moyen de définir une condition. LimeSurvey ne reconnaît pas si le participant a choisi la condition « Autre ». Ce n'est PAS un bug mais une limitation.

Il n'y a pas de champ réel enregistré pour la case à cocher « autre » pour ce type de question. Ainsi, la seule façon de savoir si l'utilisateur a répondu ou non à « l'autre » partie de la question serait de vérifier si la valeur du texte écrit dans l'autre champ de saisie est vide ou non.

Cependant, en raison de la manière spécifique dont sont traitées les questions à choix multiples, le test du champ de saisie de texte « autre » n'a jamais été mis en œuvre.

Pour contourner le problème, ajoutez une option de réponse explicite appelée « Autre » et n'utilisez pas l'option « autre » intégrée à ces types de questions. Ajoutez ensuite une courte question textuelle supplémentaire qui s'affichera si cette case « Autre » a été cochée.


Comment utiliser les parenthèses pour les expressions booléennes ?

Tu ne peux pas !

Si vous souhaitez concevoir quelque chose comme :

(condition1 OU condition2) ET (condition3 OU condition4),

vous devrez configurer :

(condition1 ET condition3) OU

(condition1 ET condition4) OU

(condition2 ET condition3) OU

(condition2 ET condition4)