TUTO GOOGLE APPS SCRIPT : créer un Toast

La commande TOAST

Dans ce tuto Google Apps Script, nous allons voir comment afficher une fenêtre contextuelle dans le coin inférieur droit de la feuille de calcul avec un message donné. Mais nous allons le faire dans le cadre d’un cas pratique.

Le cas pratique

Tout d’abord, nous avons une liste de tâches à effectuer, avec une case à cocher. Le but de la fonction est d’afficher une fenêtre contextuelle (TOAST) quand la case à cocher est cliquée. Mais également de mettre la date de validation de celle ci, puisque que le suivi est important.

La fonction onEdit

En ce qui concerne la fonction, pour la rendre dynamique, nous créons une fonction onEdit qui est un trigger prédéfini. Donc, il exécute la fonction lorsqu’un un utilisateur modifie une valeur de la feuille de calcul, c’est à dire dans ce cas, cliquer sur une case

function onEdit(e) {}

Ensuite, nous déclarons nos variables nécessaires à la fonction :

 //IDENTIFICATION DE LA ZONE DE TRAVAIL
  var ss = SpreadsheetApp.getActive();
  var sheet = SpreadsheetApp.getActiveSheet();
  var cellule = ss.getActiveRange();

 //RECUPERATION DU NUMERO DE LIGNE DE LA CASE A COCHER
  var numeroLigne = sheet.getActiveCell().getRow();

 //RECUPERATION DU CONTENU DE LA CELLULE A COCHER
  var contenuCellule = cellule.getValue();
  
 //RECUPERATION DE LA DESCRIPTION DE LA TACHE EN FONCTION DU NUMERO DE LIGNE
  var message = sheet.getRange(numeroLigne,2).getValue();

La condition IF

Par la suite, en fonction du contenu de la cellule, un TOAST sera affiché. D’ailleurs, la case à cocher renvoie une valeur booléenne : false si elle n’est pas cochée, true si c’est le cas.

Nous testons donc le contenu de la cellule :

  if(contenuCellule === true) {}

Le TOAST

Si la case vient d’être cochée, alors j’exécute la commande TOAST.

Il y a 3 paramètres possibles :

 ss.toast(msg, title, timeoutSeconds)
  • msg : le message à afficher dans le toast
  • title : le titre du toast
  • timeoutSeconds : le délai d’affichage en secondes ( si ‘null’, le toast dure par défaut 5 secondes, s’il est négatif, le toast reste jusqu’à ce qu’il soit fermé par l’utilisateur

Dans notre cas, voici la configuration :

 ss.toast("vous avez validé l'item : "+message, 'tâche accomplie', 3);

Insertion d’une date de validation

Pour finaliser le srcipt, nous allons terminer par mettre une date et heure de validation de la tâche grâce à new Date()

 sheet.getRange(numeroLigne,4).setValue(new Date());

Le code complet

Désormais tout fonctionne !

  • La fonction onEdit vérifie la case modifié par l’utliisateur
  • La condition IF permet de tester le contenu de cette cellule
  • Si la condition est remplie, alors la fenêtre TOAST s’affiche
  • La date et l’heure de modification sont enregistrées sur le Sheet

En conclusion, voici le code complet :

function onEdit(e) { 

  var ss = SpreadsheetApp.getActive();
  var sheet = SpreadsheetApp.getActiveSheet();
  var cellule = ss.getActiveRange();
  var numeroLigne = sheet.getActiveCell().getRow();
  var contenuCellule = cellule.getValue();
  
  var message = sheet.getRange(numeroLigne,2).getValue();
  

  if(contenuCellule === true) {
    ss.toast("vous avez validé l'item : "+message, 'tâche accomplie', 3);
    sheet.getRange(numeroLigne,4).setValue(new Date());
  }
}

Merci de nous avoir suivi, laissez nous un commentaire et proposez nous d’autres idées de tuto Google Apps Script.

A bientôt !


Retrouvez nous sur les réseaux sociaux :


Retrouvez nos formations sur notre catalogue, mis à jour régulièrement