Mise à jour automatique des réponses google forms

Bonjour,

Je cherche une solution à mon problème depuis déjà plus de deux semaines. J'ai épluché le forum à la recherche de cas similaire, mais je ne connais pas le langage script, je m'y met depuis que je cherche à résoudre mon souci et donc je suis incapable de personnalisé les script que j'ai vu sur les topics.

Ma demande ne semble pas compliquée en soit :

=> J'aimerais que lorsqu'une réponse d'un nom déjà interrogée est enregistrée par forms, il remplace la ligne déjà existante au même nom.

Comme ça mon fichier ce met automatiquement à jour sans que j'ai à le manipuler, et sans avoir de doublons.

Pour cela, j'ai cru comprendre qu'il fallait que je définisse des variables : le document, la feuille active, la dernière ligne, le nom cherché, la ligne du nom trouvé etc..

Puis que j'applique ma fonction avec mes variables définis. En l'occurrence ici : la fonction if.

Par mes propres mots :

SI le nom en colonne C de la dernière ligne = un nom dans la colonne C ; VRAI = select lastrow "couper coller" sur la ligne défini par le même nom trouvé dans la colonne C ; FAUX = " "

J'ai créer un fichier test pour m'aider :

https://docs.google.com/spreadsheets/d/1nBHJ_uuAXcQNI0yKrjTBs9MKYVas98Qa1Co1eUmtyR8/edit#gid=9927529...

Bonjour,

Attention dans les manipulations de réponses Form, si je me souviens bien, modifier directement les données fait buguer les nouvelles réponses, à votre place, j'aurais l'onglet où les réponses arrivent, je n'y toucherais pas, ainsi, je conserve l'historique de toutes les réponses, puis, dans un autre onglet / fichier, je gérerai les données avec pour le coup 1 seule information par nom et la plus récente.

Ensuite pour avoir la donnée la plus récente d'un prénom, je pense qu'un =QUERY( ou =XLOOKUP( pourrait suffire.

Ha ! Je n'y avais pas pensé. J'ai déjà créé un fichier comme ça, reprenant des données via une formule QUERY pour afficher les dernière version de fichiers au fur et à mesure qu'ils étaient mis à jour.

Mais je vais avoir un fichier très volumineux au bout d'un certain temps

Merci beaucoup Pierre, je n'avais pas envisager le problème sous cet angle !!!

Votre fichier de réponse From va en effet avoir beaucoup de données, après, c'est prévu pour.

Votre fichier de travail, là où les données seront actualisées, lui ne contiendra qu'une donnée pour chaque nom et donc ne sera pas plus lourd le 1er jour / le 999ème jour.

S'il vous faut plutôt une solution avec un script, c'est faisable, il faut récupérer les données de nom dans une variable, puis dans une autre variable tous le tableau, comparer ensuite (avec une boucle for + un if imbriqué) chaque ligne et créer une liste temporaire par nom, ensuite ne conserver que la plus récente (avec un nouveau test if) et retourner cette donnée.

//

Ou bien, variable contenant tout le tableau (sous format liste), puis recherche doublon sur le nom, et si doublon, supprimer ancienne occurrence (à l'aide d'un test if).

Bonjour Pierre,

Cela fait plusieurs jours que je tente de mettre en place ma formule Query, mais je n'arrive pas à la finaliser en prenant en compte la date la plus récente.

Pour l'instant j'en suis à ce stade :

=QUERY('Réponses au formulaire 1'!$A$2:$D$6;"select * WHERE C='Paul' AND B > DATE '"&TEXTE(AUJOURDHUI()-1080;"yyyy-MM-dd")&"'")

Mon problème ici, c'est que je n'arrivais pas à récupérer uniquement les dernières lignes à jours. Alors j'ai voulu contourner en prenant une date : ici moins de 3 ans (d'où les 1080 jours en plus)

Mais certaines de mes données ont plus de 3 ans et j'ai quand même besoin de les avoirs dans le tableau le temps qu'elles soient mises à jour par une réponse au formulaire.

Malheureusement j'ai bien l'impression qu'incorporer une formule dans QUERY soit trop compliqué pour moi après moultes recherches.

Penses-tu pouvoir m'expliquer comment je pourrais procéder ?

Bonjour,

Avec query, vous pouvez trier en croissant / décroissant et limiter le nombre de réponses.

Donc, vous pouvez faire :

=QUERY('Réponses au formulaire 1'!$A$2:$D$6;"select * WHERE C='Paul' ORDER BY B DESC LIMIT 1'")

Ha oui ! Super !

J'avais bien vu le DESC pour ordre décroissant, mais je n'avais pas compris que je pouvais le combiner avec LIMIT pour n'avoir que la dernière réponse.

Merci beaucoup Pierre ! Vous avez été mon sauveur !

Je vous souhaite une excellente fin de journée.

De rien, c'est l'objectif de cet endroit, vous pouvez clôturer le topic en cliquant sur l'icône du message qui répond à votre question.

Rechercher des sujets similaires à "mise jour automatique reponses google forms"