Macro création nouvelle ligne

Bonsoir,

Je souhaite créer une macro qui va écrire la date du jour en dessous de la ligne de la date précédente et à coté de la nouvelle date du jour, copier une cellule (qui restera toujours la même) et la coller.
A noter que cette macro sera executée toutes les 24h et a pour but de faire un suivi quotidien de budget.

Merci d'avance


https://docs.google.com/spreadsheets/d/14tZBEAN03vllWCIlgkEKfDdaVkugwuUo9m4CH65Xgbs/edit?usp=sharing

Bonjour,

Une solution qui insère la ligne à la suite :

function exemple() {

  // Feuille
  const f = SpreadsheetApp.getActive().getSheetByName('Feuille 1');

  // Insertion d'une ligne à la fin
  f.appendRow([Utilities.formatDate(new Date(), Session.getScriptTimeZone(), 'dd/MM/yyyy'), f.getRange('E4').getValue()]);
}

Ou :

function exemple() {

  // Feuille
  const f = SpreadsheetApp.getActive().getSheetByName('Feuille 1');

  // Insertion d'une ligne à la fin
  f.appendRow([new Date().toLocaleDateString('fr'), f.getRange('E4').getValue()]);
}

Hello finalement j'avais trouvé cette solution avec l'aide de ChatGPT.

function ajouterLigne() {
  var feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("PRICE");

  if (!feuille) {
    // Si la feuille n'est pas trouvée, affichez un message d'erreur
    Browser.msgBox("La feuille 'PRICE' n'a pas été trouvée.");
    return;
  }

  // Récupérer la date actuelle en format "dd/MM/yyyy"
  var dateActuelle = Utilities.formatDate(new Date(), "GMT+1", "dd/MM/yyyy");

  // Récupérer la valeur de la cellule S3
  var valeurS3 = feuille.getRange("S3").getValue();

  // Ajouter une ligne en dessous de la dernière ligne utilisée
  var derniereLigne = feuille.getLastRow();
  feuille.insertRowAfter(derniereLigne);

  // Écrire la date et la valeur de S3 dans la nouvelle ligne
  feuille.getRange(derniereLigne + 1, 1).setValue(dateActuelle);
  feuille.getRange(derniereLigne + 1, 2).setValue(valeurS3);
}

Merci quand même pour l'aide Seb !

Rechercher des sujets similaires à "macro creation nouvelle ligne"