Parcourez la base de connaissances, explorez nos ressources et visitez notre Forum communautaire pour des informations plus détaillées
Dernière mise à jour : 23 Jun 2026
Les groupes répétés dans XLSForm vous permettent de poser le même ensemble de questions plusieurs fois au sein d’un formulaire. Cette fonctionnalité est particulièrement utile pour collecter des informations similaires sur plusieurs personnes, éléments ou événements.
Par exemple, si vous recueillez des informations sur chaque membre d’un ménage, vous pouvez utiliser un groupe répété pour poser les mêmes questions démographiques pour chaque individu.
Cet article aborde les sujets suivants :
Créer un groupe répété
Définir un nombre de répétitions pour limiter le nombre de fois que le groupe est répété
Compter le nombre de répétitions à l’intérieur d’un groupe répété
Extraire des valeurs depuis des groupes répétés
Note : Cet article porte sur les groupes répétés dans XLSForm. Pour en savoir plus sur les groupes répétés dans l'interface de création de formulaires KoboToolbox (KoboToolbox Formbuilder) et pour voir des exemples de groupes répétés en action, consultez l'article Groupes et groupes répétés dans le Formbuilder.
Pour créer un groupe répété dans XLSForm :
Dans la colonne type de l’onglet survey, saisissez begin_repeat pour indiquer le début du groupe répété.
Dans la colonne name de la ligne begin_repeat, saisissez l’identifiant unique du groupe.
Dans la colonne label, saisissez le titre du groupe tel que vous souhaitez qu’il apparaisse dans le formulaire. Le libellé est facultatif et peut être laissé vide.
Saisissez chaque question du groupe dans sa propre ligne, comme vous le feriez normalement.
Dans une nouvelle ligne après les questions répétées, saisissez end_repeat dans la colonne type pour indiquer la fin du groupe répété.
Dans la ligne end_repeat, laissez les colonnes name et label vides.
onglet survey
type |
name |
label |
|---|---|---|
begin_repeat |
household_members |
Household Members |
text |
name |
What is the person’s name? |
integer |
age |
How old are they? |
select_one yn |
married |
Are they married? |
end_repeat |
||
survey |
Les groupes répétés fonctionnent de manière similaire aux groupes de questions. Avec les groupes répétés, vous pouvez :
Utiliser l’apparence field-list pour afficher toutes les questions sur la même page.
Ajouter une logique de saut aux groupes répétés dans la colonne relevant.
Créer des sous-groupes répétés, où un groupe répété est ajouté à l’intérieur d’un autre.
Note : L'ajout de groupes répétés à votre formulaire crée une structure de données différente de celle des variables ou groupes standard. Lorsque vous téléchargez vos données au format .xlsx, vous trouverez un onglet distinct pour chaque groupe répété. Pour plus d'informations sur l'export et l'utilisation des données de groupes répétés, consultez l'article Gestion des données de groupes répétés.
Par défaut, les groupes répétés peuvent être répétés autant de fois que nécessaire. Pour limiter le nombre de fois qu’un groupe répété est répété dans le formulaire, vous pouvez définir un nombre de répétitions. Le nombre de répétitions peut être soit un nombre fixe, soit déterminé dynamiquement en fonction d’une réponse précédente.
Pour définir un nombre fixe de répétitions :
Ajoutez une colonne repeat_count dans l’onglet survey.
Saisissez un nombre dans la colonne repeat_count.
onglet survey
type |
name |
label |
repeat_count |
|---|---|---|---|
begin_repeat |
participant_profile |
Participant profile |
3 |
text |
name |
Name |
|
select_one gender |
gender |
Gender |
|
integer |
age |
Age |
|
end_repeat |
|||
survey |
Pour déterminer dynamiquement le nombre de répétitions en fonction d’une réponse précédente :
Ajoutez une colonne repeat_count dans l’onglet survey.
Saisissez la référence de la question dans la colonne repeat_count.
La question référencée doit être de type integer.
onglet survey
type |
name |
label |
repeat_count |
|---|---|---|---|
integer |
participants |
Total number of training participants |
|
begin_repeat |
participant_profile |
Participant profile |
${participants} |
text |
name |
Name |
|
select_one gender |
gender |
Gender |
|
integer |
age |
Age |
|
end_repeat |
|||
survey |
Note : Dans la colonne repeat_count, vous pouvez également inclure des instructions conditionnelles avancées pour déterminer si les répétitions doivent se poursuivre. Pour plus d'informations, consultez la documentation ODK.
Lorsque vous utilisez des groupes répétés, vous pouvez avoir besoin d’un champ qui compte le nombre de fois que le groupe a été répété. Cela peut être utile pour des calculs ou la logique de formulaire. Par exemple, vous pouvez appliquer une logique de saut après une répétition spécifique ou inclure dynamiquement le numéro de répétition dans le libellé d’une question (ex. : Enfant 1, Enfant 2).
Pour compter le nombre de fois qu’un groupe répété a été répété :
Ajoutez une question de type calculate à l’intérieur du groupe répété.
Saisissez position(..) dans la colonne calculation.
Cette variable stocke l’index de répétition actuel. Vous pouvez l’utiliser dans la logique de formulaire ou pour créer des libellés de questions dynamiques.
onglet survey
type |
name |
label |
calculation |
relevant |
|---|---|---|---|---|
begin_repeat |
profile |
Participant profile |
||
calculate |
number |
position(..) |
||
note |
instructions |
Answer the questions below for each participant. |
${number} = 1 |
|
text |
name |
Name of participant ${number} |
||
select_one gender |
gender |
Gender of participant ${number} |
||
integer |
age |
Age of participant ${number} |
||
end_repeat |
||||
survey |
Vous pouvez également ajouter une question distincte en dehors du groupe répété pour compter le nombre total de répétitions. Cela est utile, par exemple, pour confirmer le nombre de participants ou d’enfants répertoriés dans le groupe répété.
Pour compter le nombre de fois qu’un groupe répété a été rempli :
Ajoutez une question de type calculate après le groupe répété.
Dans la colonne calculation, saisissez count(${repeat_group_name}), où repeat_group_name est le nom du groupe répété.
Cette variable stocke le nombre total de répétitions du groupe. Vous pouvez l’utiliser dans des calculs ou pour créer des libellés de questions dynamiques dans votre formulaire.
onglet survey
type |
name |
label |
calculation |
|---|---|---|---|
begin_repeat |
children |
Children roster |
|
text |
name |
Name |
|
select_one gender |
gender |
Gender |
|
integer |
age |
Age |
|
end_repeat |
|||
calculate |
count_children |
count(${children}) |
|
acknowledge |
confirm_children |
Confirm that there are ${count_children} children in the household. |
|
survey |
Les formulaires avancés utilisent souvent le référencement de questions pour inclure des réponses à des questions précédentes dans des libellés de questions, des calculs ou une logique de saut. Vous pouvez également utiliser le référencement de questions à l’intérieur des groupes répétés ou pour faire référence à des données répétées ailleurs dans votre formulaire.
À l’intérieur d’un groupe répété, vous pouvez référencer la réponse d’une autre question de la même répétition à l’aide du référencement de questions, comme illustré ci-dessous.
onglet survey
type |
name |
label |
|---|---|---|
begin_repeat |
children |
Children roster |
text |
name |
What is the child’s name? |
integer |
age |
How old is ${name}? |
select_one gender |
married |
What is ${name}”s gender? |
end_repeat |
||
survey |
En dehors d’un groupe répété, vous pouvez extraire des données du groupe répété pour les utiliser dans la logique de formulaire ou les libellés de questions :
Ajoutez une question de type calculate après votre groupe répété.
Incluez l’une des formules listées ci-dessous dans la colonne calculation.
La question calculate stocke la valeur extraite, que vous pouvez ensuite utiliser dans la logique de formulaire ou les libellés de questions.
Formules pour extraire des données depuis des groupes répétés
Formule |
Description |
|---|---|
|
Extrait la valeur maximale saisie pour une question dans le groupe répété. |
|
Extrait la valeur minimale saisie pour une question dans le groupe répété. |
|
Calcule la somme des valeurs numériques saisies pour une question dans le groupe répété. |
|
Liste toutes les réponses à une question donnée dans un groupe répété, séparées par un point-virgule. |
|
Extrait la valeur de |
onglet survey
type |
name |
label |
calculation |
|---|---|---|---|
begin_repeat |
children |
Children roster |
|
text |
name |
Name |
|
select_one gender |
gender |
Gender |
|
integer |
age |
Age |
|
end_repeat |
|||
calculate |
max_age |
max(${age}) |
|
acknowledge |
confirm_age |
Confirm that the oldest child in the household is ${max_age} years old. |
|
survey |
field-list. KoboCollect ne permet pas d'utiliser les groupes répétés à l'intérieur de groupes field-list. Les groupes répétés doivent apparaître sur leur propre page.
field-list du groupe principal.
Avez-vous trouvé ce que vous cherchiez ? Les informations étaient-elles claires ? Manquait-il quelque chose ?
Partagez vos commentaires pour nous aider à améliorer cet article !
KoboToolbox est maintenu par Kobo Inc.