Incrémenter cellule
b
Bonjour,
J'ai créé un bouton qui exécute un script (sauvegarde puis efface un tableau).
A la fin de ce script, j'aimerais que ma cellule 'LUNDI!C1' dans laquelle se trouve une date soit mise à la date de 2 semaines après.
Exemple :
Avant exécution du script : lundi 12 décembre 2022
Après exécution du script : lundi 26 décembre 2022
Merci pour votre aide !
Invité
Bonjour,
Est-ce que ce genre de script pourrais vous aider
function onEdit() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheetDevisAuto = ss.getSheetByName("DEVIS NUMEROTATION AUTO");
const sheetDevisAutoId = sheetDevisAuto.getSheetId();
const rangeEdited = sheetDevisAuto.getActiveCell();
const rangeEditedSheetId = rangeEdited.getSheet().getSheetId();
// Si la cellule modifiée est dans le sheet Devis Auto
if (sheetDevisAutoId == rangeEditedSheetId) {
const rangeEditedCol = rangeEdited.getColumn();
// si et si colonne de titre (3)
if (rangeEditedCol == 3) {
const rangeEditRow = rangeEdited.getRow();
const devisId = sheetDevisAuto.getRange(rangeEditRow, 1).getValue();
// si aucun ID renseigné
if (devisId == "") {
//recherche du dernier devis de l'année
const thisDate = new Date();
const thisYear = thisDate.getFullYear();
// recueil des devis
const devisIdsValues = sheetDevisAuto.getRange(2, 1, sheetDevisAuto.getLastRow(), 1).getValues();
// recherche du plus grand nombre aprés le "-" de l'année.
let numMax = 0;
const devisIds = devisIdsValues.map(function (id) {
const thisId = id[0];
const thisIdSplit = thisId.split("-");
if (thisIdSplit[0] == thisYear) {
const thisNum = parseInt(thisIdSplit[1], 10);
if (numMax < thisNum) {
numMax = thisNum;
}
}
})
const newNum = "00"+(numMax+1) ;
const newDevisId = thisYear + "-" + newNum.substr(-3);
sheetDevisAuto.getRange(rangeEditRow, 1).setValue(newDevisId);
sheetDevisAuto.getRange(rangeEditRow, 2).setValue(thisDate);
}
}
}
}A+