Historisation des données - Script Google Sheet

Bonjour,

Je suis alternant dans une boîte de logistique, je connais les bases du codage sur Excel cependant la boîte où je travaille n'utilise que Google Sheets, dont le language m'est totalement inconnu. Pouvez-vous m'aider ?

J'aimerais réaliser un tableau récapitulatif qui historise des données clés (4 données clés : Volume total max en tonnes, Volume total encours en tonnes, Taux d'appro en % et Taux de rupture en %) chaque mois, ces données sont calculé sur la feuille 'Cal_Stk_Farmapro'.

Après avoir importé les données brutes du mois dans la feuille 'Cal_Stk_Farmapro', j'aimerais que lors de l'exécution de la macro, que celle-ci récupère les 4 cellules concernées et complète le tableau récapitulatif en ajoutant les valeurs, tout en conservant les données des mois précédents.

J'ai réalisé différents tests qui n'ont malheureusement pas abouti, j'ai utilisé l'enregistreur de macro puis tenté de modifier le script.

Voilà ce que ça donne, cette macro récupère et affiche bien les données mais elle les affiche toujours sur le même mois (Janvier). J'aimerais donc qu'à la prochaine activation de la macro, Janvier soit conservé et les nouvelles données clés s'affichent dans Février.

function Test2() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('C2').activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Cal_Stk_Farmapro'), true);
  spreadsheet.getRange('R2:R5').activate(); //les 4 données clés
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Donnée Farmapro'), true);
  spreadsheet.getRange('C2:C5').activate();
  spreadsheet.getRange('Cal_Stk_Farmapro!R2:R5').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);

};

Voici quelques illustrations pour vous aider :

image excel stk 1 image excel stk 2

Merci d'avance pour votre aide.

Cordialement

Loïc

Bonjour,

Les illustrations c'est mieux que rien (et mieux qu'un fichier excel), mais cela ne permet pas de travailler efficacement (et au passage connaître tes paramètres régionaux le cas échéant, indispensable sinon il y a risque sur la copie de formules).

Maintenant, au vu de ta description, je ne comprends pas pourquoi, comme dans un excel du reste, tu ne fasses pas un tableau croisé dynamique.

Bonjour et merci pour ta réponse.
Il fallait impérativement que je le fasse avec une macro, j'ai toutefois réussi après plusieurs essais.
Voilà comment j'ai fait :

function histof() {
  // Get handles to Daily and Archive sheets
  var donnees = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('donnees_FARMAPRO');
  var historique = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('historique_FARMAPRO');

  // Create range strings for the rows in Daily and Archive sheets
  var donneesRange = "donnees_FARMAPRO!1:" + donnees.getLastRow();
  var archiveLastRow = donnees.getLastRow() + historique.getLastRow();
  var archiveAppendRange = "historique_FARMAPRO!" + (historique.getLastRow() + 1) + ":" + archiveLastRow;

  // Get range of data to copy
  var destRange = donnees.getRange(archiveAppendRange);

  // Copy the data to the archive sheet
  var sourceDataValues = donnees.getRange(donneesRange).copyTo(destRange, {contentsOnly: true});
}  
Rechercher des sujets similaires à "historisation donnees script google sheet"