Convertir des nombres en temps dans Google Spreadsheet
<p>J'essaie de créer une feuille de calcul Google Sheets automatisée dans laquelle je peux saisir la date, l'heure de début, l'heure du déjeuner, l'heure de fin, le nombre d'heures travaillées par jour et enfin résumer le nombre d'heures travaillées pendant un mois. . Créer un horaire de travail dans Google Spreadsheet n'est pas trop difficile, mais j'aimerais apporter certaines améliorations. La première est que même si la feuille de calcul calcule correctement le nombre d'heures travaillées pour la journée, elle affiche le total sous forme d'heure, par exemple 20h22, plutôt que 8 heures et 22 minutes. Une autre chose est que ce format m'oblige à écrire les heures au format heure, ce qui est fastidieux. Je veux pouvoir saisir 3 ou 4 nombres dans une cellule et les convertir en heure. </p>
<p>J'ai appris que le seul moyen d'y parvenir était d'utiliser Google Apps Script. J'ai donc suivi le seul tutoriel que j'ai trouvé, mais le code ne fonctionnait pas du tout. L'outil de script utilise JavaScript, que je connais assez bien car je l'utilise quotidiennement dans les expressions After Effects, mais je ne suis pas un expert. Si quelqu'un pouvait m'aider avec ce projet moins difficile, je lui en serais très reconnaissant. Bien sûr, si quelqu’un a une meilleure alternative à ce que je fais, je suis totalement ouvert à la réorienter. Merci beaucoup. Je vais coller le code que j'ai créé sur la base du didacticiel, puis un lien vers le didacticiel lui-même. </p>
<pre class="brush:php;toolbar:false;">var COLUMN_TO_CHECK = 3;
var SHEET_NAME = "Feuil1";
fonction onEdit(e){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var feuille = ss.getActiveSheet();
if(sheet.getName() === SHEET_NAME){
var selectedCell = sheet.getActiveCell();
selectedCell.setNumberFormat("@");
if(selectedCell.getColumn() === COLUMN_TO_CHECK){
var cellValue = selectedCell.getValue();
var time = cellValue.substr(0,2)+":"+cellValue.substr(cellValue.lenght - 2);
selectedCell.setValue(heure);
selectedCell.setNumberFormat("hh:mm");
}
}
}</pré>
<p>J'ai rencontré une erreur à la ligne 7 : var sheet = ss.getActiveSheet();. Le débogueur appelle la variable <strong>ss</strong> </p>
<p>Un problème que j'ai remarqué avec le didacticiel est qu'il présente des incohérences entre le code présenté et le code étape par étape, et qu'ils ignorent également certaines lignes de code. C'est peut-être pour cela que mon code ne fonctionne pas. Lorsque j'ai suivi le didacticiel, cela m'a conduit à une impasse où j'ai essayé de copier exactement le code présenté. </p>
<p>https://yagisanatode.com/2018/06/02/google-apps-script-how-to-automatically-generate-a-time-from-a-four-digit-24-hour-time- dans -google-sheets/</p>