3

Simple task!.. output a date and time every time something in the sheet is edited!

function onEdit() {
   var ss = SpreadsheetApp.getActiveSpreadsheet();
   var sheet = ss.getSheets("Data");
   var cell = ss.sheet.getRange("F2");
   var date = Utilities.formatDate(new Date(), "GMT+8", "yyyy-mm-dd HH:mm");
   ss.sheet.cell.setValue(date);
 };

And just for knowledge how to do it only if the edits where in a sheet called FAQ.

1

try if (SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName() == "FAQ")

0

Here is another possibility

function onEdit(event)
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var feuilleActive = event.source.getActiveSheet();
  var rangActif = event.source.getActiveRange();
  var utilisateur = Session.getActiveUser().getEmail();

  var index = rangActif.getRowIndex();
  var derniereLigne = feuilleActive.getLastRow();
  var derniereCol = feuilleActive.getLastColumn();

  var derniereCelluleUtilisee = feuilleActive.getRange(index,derniereCol);
  var derniereCelluleFeuille = feuilleActive.getRange(index +1,derniereCol);
  Logger.log(derniereCelluleFeuille);
  var date = Utilities.formatDate(new Date(), "GMT+1", "dd/MM/yyyy HH:mm");


  // indique un commentaire dans la cellule modifiée
  derniereCelluleUtilisee.setComment("Dernière modification : " + rangActif.getA1Notation() +' réalisée par '+ utilisateur);
  // envoie un message
  ss.toast('Dernière modification = '+ rangActif.getA1Notation()+' réalisé par '+ utilisateur);
  // indique la date de dernière modification dans la dernière ligne de la première colonne
  derniereCelluleFeuille.setValue("Dernière mise à jour le " + date);
  derniereCelluleFeuille.setFontStyle("italic");
}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.