Découverte de Google Apps Script pour Google Sheets
Automatisez, personnalisez et dynamisez vos feuilles de calcul
Principaux enseignements
- Exécution Automatique : Créez des scripts qui s'exécutent dès l'ouverture ou au déclenchement d'événements.
- Fonctions Personnalisées : Concevez des fonctions sur-mesure pour automatiser des calculs et interagir avec d'autres services.
- Interface Personnalisée : Intégrez des menus et boutons dans vos Google Sheets pour faciliter l'utilisation par les utilisateurs.
Introduction et Vision Globale
Google Apps Script est une plateforme de développement basée sur JavaScript qui permet d'automatiser et de personnaliser Google Sheets et l'ensemble de Google Workspace. Cet outil permet de connecter des services, d'exécuter automatiquement des tâches répétitives, de créer des menus personnalisés, et même de construire des interactions avancées à l'aide d'événements. Dans ce guide, nous allons explorer en profondeur comment écrire et exécuter un script sur Google Sheets.
Réaliser un Script de Base
Démarrage Rapide
Pour exécuter un script sur Google Sheets, suivez ces étapes essentielles :
-
Ouvrir l’éditeur de script : Dans votre Google Sheet, cliquez sur Extensions puis Apps Script. Une nouvelle fenêtre s’ouvrira vous permettant d’éditer le code JavaScript.
-
Créer un nouveau script : Remplacez le code par défaut par celui que vous souhaitez utiliser. Nous présenterons plusieurs exemples adaptés à divers besoins.
-
Sauvegarder et exécuter : Une fois votre code écrit, sauvegardez votre projet et cliquez sur l'icône de lancement (▶️) pour exécuter le script.
-
Autoriser le script : La première exécution demandera une autorisation. Acceptez les permissions nécessaires pour que votre script fonctionne avec les données de vos feuilles.
Exemples de Google Apps Script
1. Script pour Écrire sur une Cellule
Exemple Simple: "Bonjour le monde!"
Cet exemple place le message "Bonjour le monde !" dans la cellule A1 de la feuille active.
function bonjourMonde() {
var feuilleActive = SpreadsheetApp.getActiveSheet();
feuilleActive.getRange('A1').setValue('Bonjour le monde !');
}
Pour le tester, copiez ce code dans l’éditeur de script de votre Google Sheet, sauvegardez et exécutez la fonction bonjourMonde.
2. Script pour Additionner Deux Cellules
Calculer et afficher la somme
L'exemple suivant lit les valeurs des cellules A1 et A2, calcule leur somme et affiche le résultat dans la cellule A3 :
function additionnerCellules() {
var feuille = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var valeur1 = feuille.getRange("A1").getValue();
var valeur2 = feuille.getRange("A2").getValue();
var resultat = valeur1 + valeur2;
feuille.getRange("A3").setValue(resultat);
}
Pensez à modifier le script pour adapter le calcul à vos besoins spécifiques (multiplication, soustraction, etc.).
3. Script Interactif avec Boîte de Dialogue
Demander à l'utilisateur où écrire
Ce script affiche une boîte de dialogue, demandant à l’utilisateur une référence de cellule, puis insère un message dans la cellule indiquée :
function demandeUtilisateur() {
var feuille = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var ui = SpreadsheetApp.getUi();
var reponse = ui.prompt('Entrez la cellule où écrire le message');
// Vérifier que la réponse n'est pas vide.
if (reponse.getSelectedButton() == ui.Button.OK && reponse.getResponseText() !== "") {
var celluleChoisie = feuille.getRange(reponse.getResponseText());
celluleChoisie.setValue('Bonjour le monde !');
} else {
ui.alert("Aucune cellule valide n'a été indiquée.");
}
}
Ce script est particulièrement utile pour créer des interactions dynamiques dans vos feuilles de calcul et une meilleure expérience utilisateur.
4. Script pour Réagir aux Événements
Utiliser les déclencheurs d'événements
Vous pouvez également créer des scripts qui s'exécutent automatiquement lors de certains événements, par exemple à l'ouverture d'une feuille ou lors d'une modification. Voici un exemple utilisant le déclencheur onOpen pour ajouter un menu personnalisé :
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Menu Personnalisé')
.addItem('Afficher Message', 'afficherMessage')
.addToUi();
}
function afficherMessage() {
SpreadsheetApp.getUi().alert('Bonjour, votre script fonctionne parfaitement !');
}
Une fois ce script sauvegardé, chaque ouverture de votre feuille affichera un menu personnalisé, pour lancer facilement des fonctions spécifiques.
Intégration et Personnalisation Avancée
Google Apps Script permet également de connecter vos Google Sheets à d'autres services de Google tels que Google Forms et Google Drive. Une intégration typique peut consister à envoyer des e-mails ou même mettre à jour automatiquement d'autres documents. Par exemple, le script ci-dessous envoie un email lorsqu'une nouvelle réponse à un formulaire parvient :
function envoyerEmail() {
var form = FormApp.getActiveForm();
var reponses = form.getResponses();
var dernier = reponses[reponses.length - 1];
var sujet = "Nouvelle réponse reçue";
var corps = "Une nouvelle réponse a été soumise au formulaire : \n" + dernier.getItemResponses().map(function(resp) {
return resp.getItem().getTitle() + ": " + resp.getResponse();
}).join("\n");
var destinataire = "exemple@gmail.com";
MailApp.sendEmail(destinataire, sujet, corps);
}
Vous pouvez ainsi élaborer des automatisations complexes, reliant différents outils de l'écosystème Google.
Visualisation du potentiel de Google Apps Script
Afin de mieux évaluer l'efficacité des différents aspects de Google Apps Script pour Google Sheets, nous avons créé un graphique radar illustrant des critères tels que l'automatisation, la personnalisation, l'intégration, la réactivité et la facilité d'utilisation. Ce graphique est basé sur une analyse subjective des forces de la plateforme.
Tableau Récapitulatif des Exemples et Fonctionnalités
Le tableau suivant présente une synthèse des exemples présentés, ainsi que d'autres points essentiels pour exploiter Google Apps Script dans Google Sheets.
| Fonctionnalité | Description | Exemple de Script |
|---|---|---|
| Écriture Basique | Insère un message dans une cellule spécifique | bonjourMonde() |
| Calculs Automatisés | Additionne deux cellules et place le résultat dans une autre | additionnerCellules() |
| Interaction Utilisateur | Demande à l’utilisateur une entrée et écrit le message dans la cellule correspondante | demandeUtilisateur() |
| Menus Personnalisés | Ajoute des menus pour exécuter des fonctions spécifiques lors de l'ouverture | onOpen() |
| Intégration Services Google | Connecte Google Sheets avec Google Forms et Gmail | envoyerEmail() |
Ressources Vidéo (YouTube)
Pour ceux qui préfèrent un apprentissage visuel, voici une vidéo explicative sur Google Apps Script pour les débutants qui présente de nombreux exemples et démonstrations qui complètent ce guide:
Section FAQ
Qu'est-ce que Google Apps Script ?
Comment exécuter un script sur Google Sheets ?
Puis-je connecter mon Google Sheet à d'autres services ?
Comment personnaliser l'interface utilisateur de ma feuille ?
onOpen() permet d'ajouter des menus qui exécutent des fonctions spécifiques lorsque l'utilisateur clique dessus.
Références
- Google Apps Script Beginner Guide - Ben L. Collins
- Extending Google Sheets Using Apps Script - Google Developers
- Google Apps Script Tutorial - Coupler.io
- Ultimate Tutorial for Google Apps Script - Medium
- Google Apps Script Samples - Google Developers
Requêtes Recommandées
Last updated April 3, 2025