Le besoin
Il nous est demandé de former quelques centaines de personnes par session de 10 maximum. Nous avons donc cherché un moyen efficace d’organiser ces séances. Le choix d’un formulaire d’inscription à place limitées présente plusieurs avantages :
- L’utilisateur choisit la séance qui lui convient le mieux. Cela améliore le taux de présence.
- Une fois les créneaux listés, un seul envoi du formulaire est nécessaire. Cela permet de limiter le nombre de va et vient avec les personnes à former
- Le formulaire doit permettre l’inscription de 10 personnes maximum. Le contrôle de cette jauge doit se faire automatiquement.
La solution choisie
La solution choisie utilise la suite Google, avec Google Form, et Google Sheet. Il vous faut pour cela un compte Google, ou vous connecter à votre compte Google : https://accounts.google.com/. N’importe qui ou un groupe restreint peut ensuite consulter les inscriptions avec un lien vers le Google Sheet, sans nécessairement avoir de compte Google.
Un exemple simple
Je vais choisir de vous illustrer la solution retenue par un exemple simple. Vous pouvez au choix commencer par lister les séances de formations, puis créer un formulaire, ou à l’inverse créer un formulaire, puis lister les séances. J’illustre ici la première option.
Créer une liste de rendez-vous
On commence par lister les séances de formations que l’on souhaite dispenser. Pour cela on crée un Google Sheet sur https://docs.google.com/spreadsheets/. Il est important que chaque session ait un intitulé différent. Si par exemple 2 sessions ont lieu le même jour à la même heure, n’hésitez pas à préciser la salle, le lieu ou le formateur pour les différencier.
Créer un formulaire
Depuis la feuille Google Sheet, vous devez créer un formulaire. Pour cela aller dans Outils, Créer un formulaire. Les réponses sont soit consultables depuis l’onglet Réponses du formulaire, soit depuis une nouvelle feuille Réponses au formulaire dans le Google Sheet. C’est cette dernière option qui nous intéresse.
Vous pouvez maintenant mettre en forme votre formulaire depuis l’onglet Question. Il est important de ne pas récupérer les adresses mail de personnes remplissant le formulaire. Il n’est pas nécessaire de se connecter à un compte Google pour remplir le formulaire, et pour des raisons de confidentialité nous ne devons pas récupérer l’adresse mail Google des personnes qui remplissent le formulaire. Pour cela aller dans l’onglet Paramètres, Réponses. L’option Collecter les adresses e-mail doit être désactivée.
Voici un exemple de formulaire :
Première utilisation de Form Ranger
C’est le module complémentaire Form Ranger édité par New Visions Cloudlab qui nous permettra de remplir et de gérer la liste des sessions disponibles qui s’afficheront dans le formulaire.
Vous pouvez maintenant remplir la question Choisissez une session de formation avec la liste de rendez-vous précédemment créée (i.e. “peupler” la question). Pour cela vous devez démarrer le module Form Ranger, choisir la question à peupler (populate) et sélectionner la feuille et la colonne dans laquelle nous avons créé une liste de rendez-vous.
Premier test du formulaire
Vous pouvez maintenant tester une première fois le formulaire, voir comment les différents éléments s’articulent. Vous obtiendrez le lien pour tester votre formulaire en cliquant sur Envoyer, envoyer via lien, puis Copier. On constate que lors du test une réponse est ajoutée dans le formulaire onglet Réponses, et dans l’onglet Réponses au formulaire. C’est cette dernière option qui nous intéresse.
Récupération des inscrits et mise à jour de la liste des rendez-vous
On souhaite maintenant récupérer le nom des inscrits, compter le nombre d’inscrits par sessions, et fermer les inscriptions à une session si la capacité max est atteinte. Vous pouvez alors ajouter les colonnes Capacité, Inscrits, Nombre d’inscrits et Sessions mises à jour.
Colonne Capacité
Mettre la capacité max de chaque session de formation. Pour un souci d’efficacité du test, j’ai choisi ici pour le moment une capacité de 1 personne à toutes les sessions.
Colonne Inscrits
=IF(A2<> » »;JOIN(« ; »;IFNA(FILTER(‘Réponses au formulaire 1′!B:B;’Réponses au formulaire 1’!C:C = A2))))

La formule ci-dessus permet si une session est renseignée (IF A2<> » ») de joindre les noms par un point-virgule (JOIN »; ») de ceux qui se sont inscrits à la session renseignée en A2 (FILTER(‘Réponses au formulaire 1′!B:B;’Réponses au formulaire 1’!C:C = A2)). La fonction IFNA permet de garder la cellule vide en cas d’erreur.
Vous pouvez copier cette formule en C2 et l’étendre à toutes les lignes comportant une session.
Colonne Nombre d’inscrits
=IF(A2<> » »;COUNTA(« ; »;IFNA(FILTER(‘Réponses au formulaire 1′!B:B;’Réponses au formulaire 1’!C:C = A2))))-1

La formule est identique à la colonne précédente, mais au lieu de joindre les noms (JOIN »; ») elle compte le nombre d’inscrits (COUNTA « ; »).
Vous pouvez copier cette formule en D2 et l’étendre à toutes les lignes comportant une session.
Colonne Sessions mises à jour
=ArrayFormula(IF(D2:D<B2:B;A2:A; » »))

La formule ci-dessus permet si la capacité n’est pas atteinte (IF D2:D<B2:B) de garder la session ouverte (A2:A), sinon de supprimer le choix du formulaire (« »).
Vous pouvez copier cette formule en E2. La formule ArrayFormula se charge de l’étendre à toutes les lignes comportant une session.
Mise à jour du formulaire via Form Ranger
Vous pouvez changer le remplissage de la question Choisissez une session de formation avec la liste colonne Sessions mises à jour. De même que précédemment devez démarrer le module Form Ranger, choisir la question à peupler (populate) et sélectionner la feuille et la colonne Sessions mises à jour.
En cochant On form submit et Every hour la liste de sessions vient se mettre à jour après chaque remplissage de formulaire et toutes les heures. Vous pouvez aussi forcer la mise à jour en cliquant sur Update question list.
Second test et conclusion
Vous pouvez tester une seconde fois votre formulaire de la même manière que lors du premier test. On voit dans l’exemple ci-dessous que la deuxième réponse est bien reçue dans la feuille Réponses au formulaire, la feuille 1 et ses colonnes se mettent bien un jour, ainsi que la liste de choix dans le formulaire.
Vous pouvez maintenant effacer les réponses test, mettre en forme le formulaire et le tableur selon vos besoins, et partager le formulaire. Pour cela, je vous rappelle que vous obtiendrez le lien pour partager votre formulaire en cliquant sur Envoyer, envoyer via lien, puis Copier.
J’espère que cet article vous a aidé à créer votre formulaire. Merci de me faire des retours.
Pour aller plus loin
Je liste ici quelques améliorations et optimisations possibles pour votre formulaire.
Fermer les inscriptions automatiquement
Un fois qu’une personne s’est inscrite sur le dernier créneau de la dernière session, la colonne Sessions mises à jour ne propose plus rien mais le formulaire lui garde en mémoire la dernière session proposée. Les inscriptions sont donc encore possibles même si aucune place n’est disponible.
Je vous propose alors d’insérer une ligne en haut de votre tableau (clic droit sur la ligne 2, Insérer une ligne au-dessus) et d’inscrire un texte en colonne Sessions mises à jour de type “Choisissez un créneau ci-dessous :”
De cette manière, une fois toutes les sessions complètes, il n’est plus possible de s’inscrire sur un créneau.
Rendre la liste des inscrits consultable
Vous pouvez rendre la liste des inscrits consultable. Pour cela il faut ajouter une feuille, la mettre en première position, et y faire figurer les informations à afficher.
Par exemple : En A1 mettre la formule =ARRAYFORMULA(‘Feuille 1’!A:A)et en B1 mettre la formule =ARRAYFORMULA(‘Feuille 1’!C:C).
Vous pouvez obtenir le lien de partage en lecture pour que le fichier soit consultable.
Vous pouvez par exemple rendre cette feuille consultable à partir d’un nouvel onglet de votre équipe Teams.
Passer d’une donnée à du texte
Afin de rendre l’intitulé des créneaux proposés plus lisibles, vous pouvez utiliser la concaténation et la formule TEXT. Voir exemple ci-dessous :
Avec une date en A3, une heure de début en B3, une heure de fin en C3, et le nom du formateur en D3 vous pouvez utiliser la formule :
= »Le « &TEXT(A3; »dddd d mmmm »)& » de « &TEXT(B3; »H »)& »h à « &TEXT(C3; »H »)& »h. Formateur : « &D3& ». »
A cumuler avec la formule ARRAYFORMULA pour appliquer sur toutes les lignes.
=ARRAYFORMULA(IF(A3:A<> » »; »Le « &TEXT(A3:A; »dddd d mmmm »)& » de « &TEXT(B3:B; »H »)& »h à « &TEXT(C3:C; »H »)& »h. Formateur : « &D3:D& ». »; » »))
Points de vigilance
Le remplissage des créneaux se fait par reconnaissance de texte. Soyez vigilant à ne pas ajouter d’espace inutile en fin de formulation car celui-ci ne sera pas reconnu.
Remplacez les guillemets chevrons («») par des guillemets droits, de même remplacez les apostrophes virgules (’) par des apostrophes droits/dactylographiques.