Une question ce jour d'un ami devant gérer le stock d'équipement pour la dialyse de son père. Il souhaite le mettre à jour quotidiennement d'une façon rapide.
Jusqu'à présent, il modifiait manuellement chaque cellule (bleu, vert et orange) quotidiennement mais il voulait trouver un moyen de simplement appuyer sur un bouton pour mettre automatiquement à jour chaque cellule.
(1) La plage des champs bleu diminue chaque cellule de 1 - il souhaitait un bouton qui diminuera de 1 chacun de ces champs.
(2) La plage des champs vert est soustraite pour chaque cellule de 2 chaque jour du lundi au samedi.(3) Le dimanche uniquement, la plage verte et orange sont sont soustraite de 1 pour chaque cellule.
Voici en image animée sur ce que peut être une réponse au besoin :
Enfin, il ne reste plus qu'à assigner chaque bouton à chaque script.
Pour cela, nous avons un tableau avec trois plages nommées.
Et un script de quelques lignes :
/** @OnlyCurrentDoc */
function Quotidiennement() {
var PlageBleue = SpreadsheetApp.getActiveSpreadsheet().getRangeByName('Bleu');
var ValeursBleues = PlageBleue.getValues();
var ValeursMisesAJour = ValeursBleues.map(function(e){return [e -1]});
PlageBleue.setValues(ValeursMisesAJour);
}
function LunSam() {
var PlageVerte = SpreadsheetApp.getActiveSpreadsheet().getRangeByName('Vert');
var ValeursVertes = PlageVerte.getValues();
var ValeursMisesAJour = ValeursVertes.map(function(e){return [e -2]});
PlageVerte.setValues(ValeursMisesAJour);
}
function Dimanche(){
var PlageVerte = SpreadsheetApp.getActiveSpreadsheet().getRangeByName('Vert');
var ValeursVertes = PlageVerte.getValues();
var ValeursMisesAJour = ValeursVertes.map(function(e){return [e -1]});
PlageVerte.setValues(ValeursMisesAJour);
var PlageOrange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName('Orange');
var ValeursOranges = PlageOrange.getValues();
var ValeursMisesAJour = ValeursOranges.map(function(e){return [e -1]});
PlageOrange.setValues(ValeursMisesAJour);
}
Voilà, j'espère que ce cas d'usage vous donnera des idées pour vos propres activités, gestion de stock, listes diverses, etc ...