Comment saisir automatiquement les données d'une cellule à intervalles de temps réguliers ?

Question d'un utilisateur cette semaine : J'ai une cellule qui montre certaines données qui changent constamment, et j'aimerais avoir un tableau séparé qui garde une trace de la valeur de cette cellule au début de chaque semaine. Est-il possible d'écrire une formule qui permettra de saisir ces données à un moment donné ?




Via une formule, je n'ai pas trouvé de solution ; par contre par script et avec un déclencheur, c'est possible et même assez simple.
// Menu pour tester le script
function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Enregistrement de la valeur')
  .addItem('Enregistrer maintenant','enregistrement')
  .addToUi();
}

// Enregistrer l'historique à partir d'une cellule et l'ajouter 
à la prochaine ligne disponible
function enregistrement() {
  var feuilleData = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data");
  var date = new Date();
  var valeur =feuilleData.getRange("A2").getValue();
  var feuilleSuivi = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Suivi");
  feuilleSuivi.appendRow([date, valeur]);
}
Dans ce script la fonction enregistrement va récupérer la valeur de la cellule A2 de la feuille nommée Data et la placer avec la date et l'heure de la capture dans la première ligne disponible de la feuille Suivi.

Ensuite, il suffit de rajouter un déclencheur : 
Déclencheur de la fonction enregistrement



Noter que ce cas d'usage a été construit avec Google Sheets, tableur de la suite bureautique et collaborative G Suite.
Pour 5,20 euros/mois, obtenez une suite bureautique complète avec votre adresse de messagerie à votre nom. Cliquer sur ce logo pour un essai gratuit.

Commentaires