Comment actualiser une cellule dans la feuille de calcul Google?


8

J'ai une colonne dans la feuille de calcul Google qui appelle un service Web externe à l'aide de URLFetch dans un script Google. La cellule utilise deux paramètres dans la ligne de cette cellule. Après un changement où ces deux paramètres renverront une valeur différente s'ils sont à nouveau envoyés au service Web, la cellule conserve une valeur mise en cache. Je sais qu'il est mis en cache car si je copie et colle la ligne dans une autre ligne, les valeurs calculées par le service Web changent pour les bonnes.

Existe-t-il un moyen de forcer une ligne ou une cellule dans une feuille de calcul Google à recalculer sa valeur, surtout si elle utilise un service Web externe dans une fonction personnalisée?


Je sais que je peux rafraîchir toutes les cellules en modifiant le script ou en triant les données, mais je cherche quelque chose d'un peu plus fin.
2012

Avez-vous essayé F5?
Jacob Jan Tuinstra

Oui, et ctrl-F5, j'ai juste commencé à fermer et à rouvrir quand j'avais besoin de le rafraîchir, je n'y avais pas pensé lorsque j'ai ajouté toutes les données pour la première fois. Après qu'il soit devenu plus un fichier d'ajout d'une ligne tous les quelques jours, il n'a pas été aussi important.
2013

Ctrl-R recalculera les formules ... similaires au F9 d'Excel.
Gary W.

Difficile de placer cela dans un script, c'est ce que demande la question.
Chenmunka

Réponses:


4

Ajoutez la ligne de code suivante:

SpreadsheetApp.flush()

Voir référence: flush


Jusqu'à ce qu'il y ait une commande qui videra une seule cellule, colonne ou ligne, je suppose que c'est l'approche lourde que je devrai utiliser. Il est préférable de l'appeler au besoin pour moi dans une seule cellule manuellement lorsque je veux que toutes les données soient actualisées (F5 et ctrl-F5 ne le font pas, seulement en les ouvrant et en les fermant), car l'appeler à chaque fois entraînerait probablement des imprévus bouclage et duplication du travail lors de la première ouverture de la feuille.
2013

5

Je suis venu ici pour chercher une réponse pour la même situation (appeler des données à partir d'une ressource externe), mais j'ai depuis élaboré une méthode alternative qui fonctionne, alors j'ai pensé partager.

Ce n'est en aucun cas la façon techniquement avisée de le faire, mais si vous supprimez la cellule, puis annulez, elle se rechargera.

Fonctionne un régal.


1
Comment travaillez-vous cela dans un script?
ale

wow, cela fonctionne réellement! Notez que vous devez attendre quelques secondes avant d'annuler, sinon cela ne fonctionnera pas
Hibbem
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.