1. Livres & vidéos
  2. Google Apps Script
  3. Menus, boutons et interactions simples
Extrait - Google Apps Script Créez vos outils pour automatiser Google Workspace
Extraits du livre
Google Apps Script Créez vos outils pour automatiser Google Workspace Revenir à la page d'achat du livre

Menus, boutons et interactions simples

Introduction

Une grande force d’Apps Script est de pouvoir améliorer l’expérience utilisateur. Plutôt que de tourner en arrière-plan, vos scripts peuvent s’intégrer directement dans l’interface de Google Sheets, Docs, Forms ou Slides grâce à des menus personnalisés, des boutons ou de petites fenêtres de dialogue.

Ces éléments offrent une passerelle simple entre l’utilisateur et le script : plus besoin d’ouvrir l’éditeur, l’interaction se fait directement depuis le document, que ce soit pour lancer une action ou afficher une information.

Créer un ou des menus personnalisés

Les menus personnalisés occupent une place centrale dans le développement avec Apps Script. Ils offrent la possibilité d’ajouter vos propres fonctionnalités directement dans les interfaces de Google Sheets, Docs, Slides ou encore Forms, au même niveau que les menus natifs.

images/11RI01.png
images/11RI02.png
images/11RI03.png
images/11RI04.png

Voyons maintenant comment créer et utiliser ces menus.

1. Créer le menu et ajouter des éléments

Reprenons l’exemple du chapitre précédent avec le générateur de factures. Nous avions deux fonctions, une pour créer des factures (generateInvoices), et une autre pour les supprimer (deleteEveryInvoice). L’objectif est maintenant de pouvoir lancer ces fonctions directement depuis l’interface, sans ouvrir l’éditeur Apps Script.

images/11RI05.png

Pour cela, nous allons utiliser la classe Ui. Il s’agit d’une instance de l’environnement d’interface utilisateur de l’application Google (Sheets, Docs, Slides ou Forms). Elle permet au script d’ajouter des éléments interactifs comme des menus, des boîtes de dialogue ou encore des barres latérales.

Attention : un script ne peut interagir avec l’interface que dans l’éditeur actuellement ouvert, et seulement si le script est lié à ce document (projet conteneur).

Créons maintenant un menu personnalisé appelé « Manage invoices », dans lequel nous ajouterons nos fonctions liées à la gestion des factures....

Dialogues simples avec la classe Ui

En plus des menus et des boutons, Apps Script permet d’afficher de petites fenêtres de dialogue directement dans l’interface de l’utilisateur. Ces dialogues servent à informer, demander une confirmation ou recueillir une saisie. La classe Ui met à disposition trois méthodes principales pour ce type d’interaction.

1. Alerts

Une alerte est une boîte de dialogue qui affiche un message et propose un ou plusieurs boutons de réponse. Il existe plusieurs variantes :

  • un message d’information avec un simple bouton OK,

  • une confirmation avec Yes/ No,

  • ou encore un choix parmi Yes/ No / Cancel.

Exemple concret : imaginons un script qui supprime toutes les factures générées. Avant d’exécuter une action aussi irréversible, il est prudent d’afficher une alerte :

images/11RI14.png

L’utilisateur est ainsi protégé contre toute suppression accidentelle.

Voici la fonction à exécuter pour mettre en place ce nouveau workflow :

function confirmDelete() { 
  const ui = SpreadsheetApp.getUi(); 
  const result = ui.alert( 
    'Confirmation', 
    'Are you sure you want to delete all invoices?', 
    ui.ButtonSet.YES_NO 
  ); 
 
  if (result === ui.Button.YES) { 
    deleteEveryInvoice(); 
    ui.alert('All invoices were...