Chapitre 3 Étude de cas : mettre au propre le tableau des ventes mensuelles ・ MISSION 12

Mission 12 : Lancer depuis son propre menu (onOpen)

📋 Liste des missions

Énoncé

Faites apparaître un menu « Clôture mensuelle » à l’ouverture de la feuille, avec « Marquer les grosses ventes » qui lance markLarge. Après l’enregistrement, rechargez le navigateur (F5) et lancez-le depuis le menu.

Ventes d’octobre - Google Sheets
Ventes d’octobre

Pour l’entraînement, le tableau revient à son état de départ avant chaque exécution (une vraie feuille ne revient pas en arrière. Les modifications d’un script s’annulent parfois avec Ctrl+Z, mais pas toutes d’un coup).

Apps ScriptProjet sans titreDéployer ▾
function onOpen() {
SpreadsheetApp.getUi()
.('Clôture mensuelle')
.addItem('Marquer les grosses ventes', '')
.();
}
function markLarge() {
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
const amounts = sheet.getRange(2, 4, lastRow - 1, 1).getValues();
const labels = amounts.map((row) => [row[0] >= 100000 ? 'Gros' : '']);
sheet.getRange(2, 5, labels.length, 1).setValues(labels);
}
Ctrl+S : enregistrer · Ctrl+R : exécuter (éditeur) · F5 : rouvrir

Chapitre 3 ・ MISSION 12

Lancer depuis son propre menu (onOpen)

Faites apparaître un menu « Clôture mensuelle » à l’ouverture de la feuille, avec « Marquer les grosses ventes » qui lance markLarge. Après l’enregistrement, rechargez le navigateur (F5) et lancez-le depuis le menu.

Maintenant
Objectif (lancer depuis le menu « Clôture mensuelle »)

Lire le code

function onOpen() {
Fonction lancée automatiquement à l’ouverture de la feuille. Renommée, elle ne se lance plus.
SpreadsheetApp.getUi().createMenu('Clôture mensuelle')
Crée dans l’écran (Ui) un menu nommé « Clôture mensuelle ».
.addItem('Marquer les grosses ventes', 'markLarge')
Ajoute un élément. Un clic lance la fonction markLarge.
.addToUi();
Affiche le menu terminé dans la barre de menus.

Une fonction nommée onOpen s’exécute automatiquement à l’ouverture de la feuille. En y ajoutant un menu, même ceux qui n’ouvrent jamais Apps Script peuvent lancer le traitement. Idéal pour les feuilles partagées par l’équipe.

Débuter avec GAS et le code courant sont expliqués dans un article.Qu’est-ce que GAS ? Débuter et code courant

Votre code s’exécute dans un espace isolé à l’intérieur de cette page. Il ne peut atteindre ni l’extérieur de la page ni d’autres sites.

* Ceci est une simulation du comportement de Google Sheets et d’Apps Script, qui peut différer en partie de l’original.

* Google Sheets est une marque de Google LLC. Ce site n'est pas affilié à Google.