Portant Docs

Ajouter des champs de formule à un workflow Google Forms

Parfois, vous souhaitez insérer du contenu basé sur une réponse à un formulaire sans demander directement l'information au répondant. Par exemple, si quelqu'un choisit un bureau, vous pouvez vouloir remplir automatiquement l'adresse, le numéro de téléphone et l'e-mail de ce bureau.

La plupart du temps, vous pouvez le faire avec des formules de balise ou des instructions conditionnelles de balise. Si celles-ci ne conviennent pas, cette page explique comment ajouter des colonnes de formule à la feuille de réponses Google Forms et utiliser cette feuille comme source de votre workflow.

Configurer un workflow sur la feuille de réponses

Dans votre Google Forms, cliquez sur l'onglet Responses (Réponses) puis sur l'icône Google Sheets pour créer ou lier une feuille de réponses :

Vous pouvez créer une nouvelle feuille de calcul ou ajouter un onglet à une feuille existante. À partir de maintenant, chaque soumission de formulaire apparaîtra sous forme de ligne dans cette feuille.

Dans Portant, créez un nouveau workflow et choisissez cette feuille comme source. Avec la création automatique activée, Portant vérifie la feuille toutes les quelques minutes et exécute le workflow sur chaque nouvelle ligne.

Ajouter des colonnes de formule à la feuille de réponses

Jusqu'ici, il s'agit simplement d'un workflow Google Sheets. L'astuce consiste à ajouter des colonnes de formule qui calculent des valeurs supplémentaires à partir des réponses au formulaire. Il existe deux façons de procéder.

Option 1 : formule matricielle à la ligne 2 de la feuille de réponses

Cliquez sur la cellule de la ligne 2, juste à droite de votre dernière colonne de réponse du formulaire. Saisissez =ARRAYFORMULA(...) avec votre formule à l'intérieur. La formule matricielle remplira la colonne vers le bas à mesure que de nouvelles réponses arrivent.

=ARRAYFORMULA(A2:A*2)

Cette formule double la valeur de la colonne A pour chaque ligne.

Vous pouvez également utiliser une instruction IF pour insérer du contenu de manière conditionnelle. Par exemple, celle-ci renvoie "This value is Yes" chaque fois que la colonne A contient "Yes", et une valeur vide dans le cas contraire :

=ARRAYFORMULA(IF(A2:A="Yes", "This value is Yes", ""))

Appuyez sur Entrée et la formule s'appliquera à chaque ligne, y compris aux nouvelles réponses à mesure qu'elles arrivent.

Option 2 : formule matricielle dans un nouvel onglet

Si vous préférez ne pas modifier la feuille de réponses, ou si votre formule ne fonctionne pas bien avec les tableaux, copiez les données de réponse dans un nouvel onglet et ajoutez-y vos formules.

Nous recommandons une formule matricielle pour refléter les réponses :

=ARRAYFORMULA(Sheet1!A:X)

A est la première colonne de réponse et X est la dernière. Ajoutez ensuite vos colonnes de formule supplémentaires à droite des données reflétées. Indiquez ce nouvel onglet à Portant comme source.

Éviter que les lignes vides n'affichent des erreurs ou des zéros

Lorsqu'une formule est étendue vers le bas dans une colonne, les lignes vides renvoient souvent #REF!, #N/A ou 0. Portant les considère comme renseignées, ce qui peut perturber la création automatique. Encapsulez vos formules de façon à ce qu'elles renvoient une valeur vide pour les entrées vides.

Pour gérer les erreurs, utilisez IFERROR :

=IFERROR(A2*100, "")

Pour gérer les valeurs vides, utilisez IF :

=IF(A1="", "", A1*100)

Ou combinez les deux pour la version la plus robuste :

=IFERROR(IF(A1="", "", A1*100), "")