Essayez de trouver un moyen d'avoir la colonne deux mise à jour automatique pour afficher un horodatage de la dernière mise à jour. Je me rends compte que la doc montre un horodatage de la dernière modification, mais beaucoup de clients ont accès à la doc et l’ajustent en même temps. Donc, cette demande a été faite. J'admets que je n'ai pas encore codé, donc ça me dépasse.
Myanda avait posté quelque chose qui semblait aller dans la bonne direction, mais nous ne savons pas comment le mettre en œuvre pour nos besoins:
Ok, voici une version modifiée du code dans ma réponse précédente:
function onEdit(e) {
// Your sheet params
var sheetName = "MySheet";
var dateModifiedColumnIndex = 2;
var dateModifiedColumnLetter = 'B';
var range = e.range; // range just edited
var sheet = range.getSheet();
if (sheet.getName() !== sheetName) {
return;
}
// If the column isn't our modified date column
if (range.getColumn() != dateModifiedColumnIndex) {
var row = range.getRow();
var time = new Date();
time = Utilities.formatDate(time, "GMT-08:00", "MM/dd/yy, hh:mm:ss");
var dateModifiedRange = sheet.getRange(dateModifiedColumnLetter + row.toString());
dateModifiedRange.setValue(time);
};
};
Cela permet de saisir la ligne de toute cellule modifiée et d'attribuer un horodatage à la deuxième colonne de cette ligne particulière.
Pour mettre en œuvre, tout ce que vous avez à faire est d'aller dans la feuille de calcul et de cliquer sur Tools
> Script Editor
. Dans la page d'édition résultante, collez simplement ceci ici. Comme il s’agit d’une fonction onEdit()
, elle devrait fonctionner sans rien ajouter aux cellules de votre feuille de calcul. Il vous suffit de la coller dans l’éditeur et de la sauvegarder.
Pour l'horodatage, j'ai défini le format sur MM/jj/aa et laissé l'heure. Si vous voulez le changer, vous pouvez simplement changer l'utilisation de Utilities.formatDate
.
Pour votre information, la réponse acceptée utilise DD
comme format de jour, ce qui vous donne un résultat du type "312", c’est-à-dire le 312e jour de l’année.
J'ai utilisé ceci:
"yyyy-MM-dd, hh:mm:ss"
pour obtenir ceci:
2013-11-12, 03:43:20
J'espère que c'est OK pour mettre ici. Vous trouverez ci-dessous une modification de la fonction ci-dessus, mais vous devez le faire pour une ligne (ligne 9) plutôt que pour des colonnes. Comprendre comment utiliser l'affectation de colonne était très frustrant, mais s'est avéré extrêmement simple. Merci à OnenOnlyWalter pour le code original:
function onEdit() {
var s = SpreadsheetApp.getActiveSheet(); // Get spreadsheet name
var r = s.getActiveCell(); // store active cell name in current spreadsheet
var cell1 = 9 // This is the row I want to put values
if(r.getRow() != cell1) { // Ignores this row (where I put the dates)
var column = r.getColumn(); // Get column # from active cell
var time = new Date(); // Get date and time of last mod
time = Utilities.formatDate(time, "GMT-08:00", "MM/DD/yy, hh:mm:ss"); // Format date and time
SpreadsheetApp.getActiveSheet().getRange(cell1,column).setValue(time); // put in time in cell
};
};