Personnaliser le Parcours Répondant avec les Conditions LimeSurvey.

Conception de questionnaire Paramétrages Personnalisation
2025-12-07 12:57:26
Admin

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).

  1. Ouvrez les paramètres de la question cible ou du groupe cible que vous souhaitez conditionner.
  2. Recherchez le champ « Équation de filtre conditionnel » (ou Relevance Equation en anglais).
  3. 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 :

  • Q4 est le code de la question de classement.
  • A05 est le code de l’option spécifique.
  • La syntaxe Q4_A05 permet 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 : satisfaction plutôt que Q1) 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

Sur le même sujet