Bonjour,
J'ai un Google Sheet dans lequel j'ai écris du code GAS qui me permet d'aller chercher de la data dans des API, puis de mettre cette data en forme.
Cet outil de reporting a vocation a être utilsé par plusieurs collaborateurs, et quand 2 collaborateurs demandent en même temps le rafraichissement de la donnée, il y a conflit et l'outil bug (ce qui est normal finalement). Tant qu'il n'y a qu'un rafraichissement, aucun problème.
Voici le code principal avec la création de boutons dans la barre de menu + les appels aux fonctions derrière les boutons. :
function onOpen() {
SpreadsheetApp
.getUi()
.createMenu("Pilotage")
.addItem('Refresh Data', 'totalrefresh')
.addItem('Synthesis', 'synthesisrefresh')
.addToUi();
}
function totalrefresh() {
CleanData();
CleanRanges();
GetHubb();
LoadDataMap();
LoadData();
Objectives();
CleanRangeObj();
OrdreRange();
Synthesis();
}
function synthesisrefresh() {
Synthesis();
}
J'aimerai 'griser' les boutons si un collaborateur a déja lancé le rafraichissement depuis son poste.
'griser' : rendre l'utilsation du bouton impossible ou faire afficher une pop up si il y a une demande de rafraichissement alors qu'un rafraichissement a déja eu lieu.
J'ai essayé de résoudre cela avec un simple token mais cela n'a pas fonctionné.
Est ce que l'un de vous a déja eu ce genre de problématique à résoudre? Si oui, peut il me conseiller ?
Cédric