Problème de propositions emboitées

Bonjour,
J’ai créé un framaforms pour une inscription à un concours.
Je voudrais que s’il n’y a qu’un groupe inscrit, n’afficher que les données pour le groupe 1, s’il y en a 2 pour le 1 et le 2 et ainsi de suite.
De plus chaque groupe peut être constitué de 2 ou 3 élèves donc si le nombre d’élèves par groupe est de 2 n’afficher que 2 élèves et s’il y en a 3 afficher les 3.
Alors voilà mon problème, j’ai beau stipuler afficher le nombre d’élèves pas groupe ça ne fonctionne pas :

Bref j’ai essayé requis, affiché, j’ai essayer de changer le poids des lignes (même si je ne sais pas quoi ça sert)
Je suis désespérée.
Question Bonus, est ce qu’on doit à chaque fois tout reprendre où y 'a t’il un moyen d’incrémenter, si je veux plus que 3 groupes et ainsi de suite?
Merci d’avance pour votre aide
Sylvia

Bonsoir,

Je vais essayer de comprendre et aider au mieux.

Donc, il y a un champ de type « Nombre ». Lorsqu’on y inscrit 1 les champs de données du groupe 1 s’affichent. Si on y met 2, c’est les champs des groupes 1 et 2. Avec 3, c’est les groupes 1, 2 et 3 qui sont concernés. etc.

En sus, les informations d’un groupe contiennent entre autres le nombre d’élèves dans le groupe ainsi qu’un champ pour y inscrire leur nom. Ces champs s’affichant en fonction du nombre d’élèves dans le groupe.

Donc le mieux serait d’utiliser des éléments de type « Groupe de champs » dans lesquels on y placerait les informations relatives à ce groupe (nombre d’élève, champs pour les noms). Ainsi, il suffit de rendre visible le groupe afin de rendre visible l’ensemble des champs à remplir pour ce groupe (champs dont l’affichage pourrait être également conditionnel). Ainsi, cela donnerait ceci:

Pour l’affichage conditionnel en fonction d’un nombre dans un autre champs, je proposerai la logique inverse. Comme ceci:

Pour l’affichage conditionnel des champs pour le nom des élèves, faire pareil:

Malheureusement, il faut le faire pour chaque groupe.

En ce qui concerne le possible usage par incrémentation, je n’ai pas connaissance que cela existe et je doute fortement que cela soit. C’est la raison pour l’utilisation de conditions inversées comme proposé. Ainsi, il suffit de placer la nouvelle condition avant les autres dans la liste et d’incrémenter manuellement la valeur de comparaison et de changer le groupe de champs ou le champ à afficher.

Pour terminer, si les noms doivent être obligatoires, il faut simplement cocher la case « Requis » dans l’onglet « Validation » dans les options du champs. En effet, si un champ requis n’est pas affiché; il n’est pas réellement requis et le formulaire peut être soumis.

image

Pour parfaire l’explication, j’espère, j’ai créé un modèle nommé « Formulaire modèle au problème de Sbelles » facilement retrouvable en spécifiant « Sbelles » dans la recherche sur le titre.

Tout d’abord merci infiniment pour votre réponse et le temps que vous avez pris ! C’est incroyable ! c’est impressionnant comment vous avez exactement compris ce que je cherche à faire !
Il me reste quelques questions, même si tout était très clair !
-J’ai pas bien compris l’intérêt de la logique inversée est ce que ça permet de s’affranchir du si 2 groupes ne pas afficher le 3ème ?
-j’avais déjà mis tous les noms enrequis est ce que c’est ça qui explique que même quand ça marche j’ai un groupe sans nombre qui s’affiche à la fin ?
-j’avais également créé des groupes de champs mais même quand il existe et que je lui demande de s’afficher dans le champ conditionnel il n’apparait pas…
-sinon j’ai trouvé le modèle merciiii je m’y attelle
Mille mercis

-J’ai pas bien compris l’intérêt de la logique inversée est ce que ça permet de s’affranchir du si 2 groupes ne pas afficher le 3ème ?

En fait, faire de la sorte, on évite les soucis de discrépance entre les conditions. On ne peut pas faire et « si nombre = 1 alors groupe 1 affiché » et « si nombre = 2 alors groupe 1 est affiché et groupe 2 est affiché ».

Cependant, on aurait pu penser en ordre « chronologique ». Du style, « si nombre < 1 alors afficher groupe 1 », « si nombre < 2 alors afficher groupe 2 » etc. Mais d’expérience, ça ne fonctionne pas bien. Alors que faire inversement (« si nombre > 2 alors afficher groupe 3 », « si nombre > 1 alors afficher » groupe 2", etc.) fonctionne comme on s’y attend. La raison m’échappe un peu.

-j’avais déjà mis tous les noms en requis est ce que c’est ça qui explique que même quand ça marche j’ai un groupe sans nombre qui s’affiche à la fin ?

Non, ça ne devrait rien à voir. Dans ce cas-ci, j’ai plutôt l’impression qu’il y a un groupe qui traîne ou que les conditions ne sont pas correctes.

-j’avais également créé des groupes de champs mais même quand il existe et que je lui demande de s’afficher dans le champ conditionnel il n’apparait pas…

Sûrement un autre souci de conditionnement. A vérifier.

-sinon j’ai trouvé le modèle merciiii je m’y attelle

Avec plaisir. Bonne découverte !