Primo, si je reprends ton fonctionnement actuel :
function arrivee(){
const feuille = SpreadsheetApp.getActive().getActiveSheet();
const user = feuille.getRange('A2').getValue();
const horodatage = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), 'dd-MM-YYYY HH:mm')
const sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
for (let sheet of sheets) {
if (sheet.getName() === user) {
sheet.appendRow([horodatage,"arrivée"]);
return;
}
}
console.error(`Aucune feuille trouvée pour l'utilisateur : ${user}`);
}
function depart(){
const feuille = SpreadsheetApp.getActive().getActiveSheet();
const user = feuille.getRange('A2').getValue();
const horodatage = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), 'dd-MM-YYYY HH:mm')
const sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
for (let sheet of sheets) {
if (sheet.getName() === user) {
sheet.appendRow([horodatage,"départ"]);
return;
}
}
console.error(`Aucune feuille trouvée pour l'utilisateur : ${user}`);
}
ainsi, dans la page de chaque employée, il sera noté l'horodatage et le type de pointage (arrivée / départ).
Ensuite, si on veut mettre un pin (exemple avec arrivee) :
function arrivee(){
const feuille = SpreadsheetApp.getActive().getActiveSheet();
const user = feuille.getRange('A2').getValue();
const horodatage = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), 'dd-MM-YYYY HH:mm')
const sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
const settingSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('settings');
const userSetting = settingSheet.getDataRange().getValues().find(row => row[0] === user);
const userPin = userSetting[1];
const ui = SpreadsheetApp.getUi();
for (let sheet of sheets) {
if (sheet.getName() === user) {
var pass = ui.prompt("Bonjour, "+user+" veuillez mettre votre code PIN afin de valider votre arrivée :").getResponseText();
if (pass == userPin) {
sheet.appendRow([horodatage,"arrivée"]);
ui.alert("Arrivée enregistrée, bonne journée !");
return;
}else{
ui.alert("Code PIN incorrect.");
return;
}
}
}
console.error(`Aucune feuille trouvée pour l'utilisateur : ${user}`);
}