Personnaliser le Parcours Répondant avec les Conditions LimeSurvey.
Objectif
- Comprendre le fonctionnement des équations de filtre conditionnel (Relevance Equation).
- Créer des conditions pour afficher ou masquer des questions selon les réponses précédentes.
- Combiner plusieurs conditions avec les opérateurs logiques AND et OR.
Pourquoi utiliser les équations de filtre conditionnel ?
- Pour raccourcir l’enquête en masquant les questions non pertinentes.
- Pour améliorer l’expérience du répondant avec un parcours personnalisé.
- Pour collecter des données plus précises en posant uniquement les questions appropriées.
1. Accéder au champ Équation de filtre conditionnel
L’équation de filtre conditionnel détermine si une question ou un groupe s’affiche. Elle doit toujours retourner VRAI (affichage) ou FAUX (masquage).
- Ouvrez les paramètres de la question cible ou du groupe cible que vous souhaitez conditionner.
- Recherchez le champ « Équation de filtre conditionnel » (ou Relevance Equation en anglais).
- Saisissez votre formule dans ce champ.
Remarque : N’utilisez pas le concepteur de conditions visuel pour ces formules avancées. Travaillez directement dans le champ Équation de filtre conditionnel.
2. Terminologie essentielle
Avant de créer vos conditions, familiarisez-vous avec ces termes :
- Question source : la question dont la réponse déclenche la condition (ex :
Q1). - Question cible : la question qui apparaît ou disparaît selon la condition.
- Code de réponse : l’identifiant technique d’une option de réponse (ex :
Y,N,A1).
3. Conditionner sur une réponse unique
Ce cas s’applique aux questions de type choix multiple, oui/non ou liste déroulante.
Afficher si l’utilisateur choisit OUI
Q1 == "Y"Traduction : Est-ce que la réponse à Q1 est égale à Y ?
Afficher si l’utilisateur choisit NON
Q1 != "Y"Traduction : Est-ce que la réponse à Q1 est différente de Y ?
Afficher si l’utilisateur choisit une option spécifique
Q1 == "C3"Traduction : Est-ce que Q1 est égale au code de réponse C3 ?
Astuce : Pour connaître le code d’une option de réponse, consultez les paramètres de la question source dans LimeSurvey.
4. Conditionner sur le remplissage d’un champ texte
Utilisez cette méthode pour les zones de texte court ou long afin de vérifier si le répondant a saisi quelque chose.
La fonction is_empty()
Cette fonction vérifie si un champ est vide ou non.
Afficher si l’utilisateur a écrit quelque chose
!is_empty(Q3)Traduction : Le contenu de Q3 n’est pas vide.
Afficher si l’utilisateur a laissé le champ vide
is_empty(Q3)Traduction : Le contenu de Q3 est vide.
Remarque : Le point d’exclamation
!signifie NOT (négation). Il inverse le résultat de la fonction.
5. Conditionner sur le classement d’une option (Ranking)
Pour les questions de type classement, vous pouvez vérifier si une option a été classée, quelle que soit sa position.
Vérifier si une option a reçu un rang
!is_empty(Q4_A05)Traduction : Le rang attribué à l’option A05 n’est pas vide (l’option a été classée).
Explication avancée :
Q4est le code de la question de classement.A05est le code de l’option spécifique.- La syntaxe
Q4_A05permet d’accéder au rang attribué à cette option.
6. Combiner les conditions avec les opérateurs logiques
Vous pouvez créer des conditions complexes en combinant plusieurs expressions.
Opérateur AND
Les deux conditions doivent être VRAIES pour que la cible s’affiche.
(Q1 == "Y") AND !is_empty(Q3)Traduction : Q1 est OUI ET Q3 n’est pas vide.
Opérateur OR
Au moins une des conditions doit être VRAIE pour que la cible s’affiche.
(Q1 == "Y") OR (Q2 == "Y")Traduction : Q1 est OUI OU Q2 est OUI.
Astuce : Utilisez toujours des parenthèses pour grouper vos conditions. Cela garantit que LimeSurvey interprète la logique dans le bon ordre.
7. Exemple de condition complexe
Voici un exemple combinant plusieurs opérateurs pour une logique avancée.
Objectif
Afficher la question cible si l’utilisateur a répondu OUI à Q1 ET qu’il a laissé le champ Q3 vide, OU s’il a choisi l’option B à Q2.
Formule
( (Q1 == "Y") AND is_empty(Q3) ) OR (Q2 == "B")
Décomposition de la logique
- Première partie :
(Q1 == "Y") AND is_empty(Q3)vérifie si Q1 est OUI et Q3 est vide. - Deuxième partie :
(Q2 == "B")vérifie si Q2 est égale à B. - Résultat : La cible s’affiche si la première partie OU la deuxième partie est vraie.
8. Bonnes pratiques
- Testez vos conditions en prévisualisant l’enquête avant publication.
- Documentez vos formules dans un fichier externe pour faciliter la maintenance.
- Utilisez des codes de question explicites (ex :
satisfactionplutôt queQ1) pour améliorer la lisibilité. - Vérifiez les codes de réponse dans les paramètres de chaque question avant de les utiliser.
9. Dépannage
La condition ne fonctionne pas comme prévu
Solution : Vérifiez que le code de la question source et les codes de réponse correspondent exactement à ceux définis dans LimeSurvey. Les codes sont sensibles à la casse.
La question cible reste toujours masquée
Solution : Assurez-vous que la question source se trouve avant la question cible dans l’ordre de l’enquête. Une condition ne peut référencer qu’une question déjà posée.
Erreur de syntaxe dans la formule
Solution : Vérifiez que vous utilisez des guillemets doubles pour les chaînes de caractères et que toutes les parenthèses sont fermées correctement.
Besoin d’aide ?
Pour toute difficulté, contactez l’équipe LimeSurvey via : Cellule.Web@ulb.be