Google Apps Script est sans doute l'outil le plus puissant et le plus méconnu de Google Workspace. Derrière ce nom se cache un langage de programmation, basé sur JavaScript, qui permet d'automatiser Sheets, Docs, Gmail, Drive, Calendar et la plupart des applications de la suite, sans installer le moindre logiciel. En quelques lignes de code, vous pouvez supprimer des heures de tâches répétitives chaque semaine. Ce guide débutant vous accompagne pas à pas : pourquoi l'apprendre, comment accéder à l'éditeur, votre premier script, dix exemples concrets, les déclencheurs automatiques et les pièges à éviter.
Pourquoi apprendre Google Apps Script
Apps Script ouvre Google Workspace à l'automatisation. Concrètement, il vous permet de mettre en place :
- des macros Sheets souvent plus simples à maintenir que les macros VBA d'Excel ;
- des workflows e-mail dans Gmail : réponse automatique, analyse de messages, archivage ;
- de la génération de documents à partir de modèles : devis, factures, attestations ;
- des intégrations avec des API externes : CRM, Slack, outils de paiement, services de change ;
- des chatbots et modules complémentaires publiables sur le Google Workspace Marketplace.
Côté apprentissage, le temps d'investissement reste raisonnable. Si vous connaissez déjà JavaScript, comptez quelques heures pour assimiler les bases. Si vous n'avez jamais codé, prévoyez plutôt dix à vingt heures pour devenir autonome. Le rapport entre cet effort initial et le temps gagné ensuite est l'un des meilleurs de tout l'écosystème bureautique.
Apps Script face aux autres outils d'automatisation
Apps Script n'est pas la seule façon d'automatiser des tâches. Le tableau suivant le situe par rapport aux solutions les plus courantes.
| Outil | Avantage | Limite |
|---|---|---|
| Apps Script | Gratuit, natif Google, basé sur JavaScript | Quotas quotidiens |
| Excel VBA | Mature et riche en fonctions | Limité à l'univers Microsoft |
| Power Automate | Sans code, visuel | Payant, lent sur les boucles |
| Zapier / Make | Sans code, multi-applications | Payant, peu flexible |
| Python + API Google | Très flexible | Hébergement à gérer soi-même |
Pour qui travaille au quotidien dans l'écosystème Google, Apps Script offre le meilleur compromis : il est gratuit, intégré et suffisamment puissant pour couvrir l'immense majorité des besoins d'automatisation d'une équipe ou d'une PME.
Accéder à l'éditeur Apps Script
Il existe trois façons d'ouvrir l'éditeur, sans rien installer :
- Depuis Sheets, Docs ou Slides : menu Extensions > Apps Script.
- De façon autonome : rendez-vous sur
script.google.com. - Depuis Drive : bouton Nouveau, puis Plus, puis Google Apps Script.
L'éditeur s'ouvre dans un nouvel onglet. Vous y trouvez une zone de code proche d'un éditeur professionnel, les boutons Exécuter et Déboguer, une zone de journaux en bas, et des onglets latéraux pour les déclencheurs, l'historique des exécutions et les paramètres.
Votre premier script en cinq minutes
Ouvrez un Google Sheet, puis le menu Extensions > Apps Script. Remplacez le code par défaut par cette fonction :
function direBonjour() {
SpreadsheetApp.getUi().alert('Bonjour et bienvenue dans Apps Script.');
}
Cliquez sur Exécuter. À la première exécution, Apps Script vous demande d'autoriser les permissions : acceptez-les. Retournez ensuite dans votre feuille de calcul, une fenêtre de dialogue apparaît. Vous venez d'écrire votre premier script Workspace.
Les services principaux d'Apps Script
Apps Script expose un service pour chaque application Google. C'est par ces services que votre code dialogue avec Sheets, Gmail ou Drive.
| Service | Usage |
|---|---|
SpreadsheetApp | Manipuler les feuilles de calcul Sheets |
DocumentApp | Manipuler les documents Docs |
SlidesApp | Manipuler les présentations Slides |
GmailApp | Envoyer et lire des e-mails |
DriveApp | Gérer fichiers et dossiers Drive |
CalendarApp | Créer et lire des événements Calendar |
FormApp | Gérer les formulaires Forms |
UrlFetchApp | Appeler des API ou des services HTTP externes |
PropertiesService | Stocker des données clé / valeur |
Utilities | Outils divers (formatage de date, encodage) |
Dix exemples concrets prêts à copier
Voici dix fonctions courtes que vous pouvez coller directement dans l'éditeur pour comprendre la logique d'Apps Script.
1. Lire une cellule
function lireCellule() {
const sheet = SpreadsheetApp.getActiveSheet();
const valeur = sheet.getRange("A1").getValue();
Logger.log(valeur);
}
2. Écrire dans une cellule
function ecrireCellule() {
const sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("B2").setValue("Bonjour Apps Script");
}
3. Boucler sur des lignes
function boucler() {
const sheet = SpreadsheetApp.getActiveSheet();
const data = sheet.getDataRange().getValues();
for (let i = 1; i < data.length; i++) {
Logger.log("Ligne " + (i + 1) + " : " + data[i][0]);
}
}
4. Envoyer un e-mail simple
function envoyerMail() {
GmailApp.sendEmail(
"destinataire@example.com",
"Sujet du message",
"Bonjour, ceci est un test envoyé depuis Apps Script."
);
}
5. Mail merge personnalisé
function mailMerge() {
const sheet = SpreadsheetApp.getActiveSheet();
const data = sheet.getDataRange().getValues();
for (let i = 1; i < data.length; i++) {
const [email, prenom, montant] = data[i];
const sujet = "Bonjour " + prenom;
const corps = "Bonjour " + prenom + ",\n\nVotre solde est de " + montant + " euros.";
GmailApp.sendEmail(email, sujet, corps);
}
}
6. Créer un événement Calendar
function creerEvenement() {
const cal = CalendarApp.getDefaultCalendar();
cal.createEvent(
"Réunion d'équipe",
new Date("2026-09-01T10:00:00"),
new Date("2026-09-01T11:00:00"),
{ description: "Brief mensuel", location: "Salle A" }
);
}
7. Lire les e-mails non lus
function lireNonLus() {
const threads = GmailApp.search("is:unread", 0, 10);
threads.forEach(t => {
Logger.log(t.getFirstMessageSubject());
});
}
8. Créer un menu personnalisé dans Sheets
function onOpen() {
const ui = SpreadsheetApp.getUi();
ui.createMenu('Mon menu')
.addItem('Envoyer le rapport', 'envoyerRapport')
.addItem('Nettoyer les données', 'nettoyerDonnees')
.addToUi();
}
Au prochain rechargement de la feuille, un menu nommé Mon menu apparaît dans la barre supérieure.
9. Appeler une API externe
function appelAPI() {
const response = UrlFetchApp.fetch("https://api.exchangerate.host/latest?base=EUR");
const json = JSON.parse(response.getContentText());
Logger.log("Cours du dollar : " + json.rates.USD);
}
10. Générer un PDF depuis un modèle Docs
function genererPDF() {
const template = DocumentApp.openById("ID_DOC_TEMPLATE");
const blob = template.getAs("application/pdf").setName("Facture_2026.pdf");
DriveApp.createFile(blob);
}
Les triggers : automatiser l'exécution
Un déclencheur, ou trigger, est un événement qui lance votre script automatiquement, sans intervention de votre part. Apps Script en propose plusieurs types :
- de temps : toutes les heures, tous les jours à une heure donnée, chaque semaine ;
- de document : à l'ouverture (
onOpen), à l'édition (onEdit) ou à l'envoi d'un formulaire ; - de calendrier : à la création d'un nouvel événement ;
- HTTP : via un webhook, lorsque le script est publié comme application web.
Pour créer un déclencheur horaire, ouvrez l'éditeur, cliquez sur l'icône en forme d'horloge (Déclencheurs), puis sur Ajouter un déclencheur. Choisissez votre fonction, la source Piloté par le temps et la fréquence souhaitée, enfin enregistrez. Votre script tournera ensuite automatiquement.
Certains déclencheurs ne nécessitent aucune configuration : il suffit de nommer correctement la fonction. C'est le cas de onEdit, exécuté à chaque modification de la feuille :
function onEdit(e) {
const range = e.range;
const value = e.value;
Logger.log("Cellule " + range.getA1Notation() + " modifiée : " + value);
}
Cas pratique : un suivi de formations automatisé
Imaginez un organisme qui gère ses inscriptions dans un Sheet et souhaite automatiser son suivi. Avec Apps Script, il peut mettre en place, en quelques dizaines de lignes :
- une confirmation automatique par e-mail dès qu'un participant est ajouté ;
- un rappel sept jours avant la session, avec le lien de connexion ;
- une demande d'évaluation envoyée le lendemain via un Google Forms ;
- la génération automatique de l'attestation en PDF depuis un modèle Docs.
L'ensemble tient dans un seul script, sans aucun outil tiers, là où un service d'automatisation commercial coûterait plusieurs dizaines d'euros par mois. C'est exactement ce type de gain concret que vise une bonne maîtrise de la suite, abordée dans notre formation Google Workspace certifiante.
Quotas, limites et bonnes pratiques
Apps Script est gratuit, mais soumis à des quotas quotidiens qu'il faut connaître avant d'industrialiser un script.
| Quota | Limite indicative |
|---|---|
| E-mails par jour | 100 (compte personnel) / 1 500 (Workspace) |
| Appels URL Fetch par jour | 20 000 |
| Temps d'exécution par script | 6 minutes |
| Déclencheurs par utilisateur | 20 |
| Stockage Properties | 500 Ko |
Pour rester efficace et maintenable, quelques habitudes font la différence : documentez vos fonctions par des commentaires, utilisez Logger.log() pour suivre l'exécution, encadrez vos appels réseau d'un bloc try / catch, stockez vos jetons et votre configuration dans PropertiesService plutôt qu'en dur dans le code, et versionnez régulièrement via l'historique des versions. Enfin, évitez de lire les cellules une par une dans une boucle : récupérez l'ensemble des données en un seul appel avec getValues(), puis traitez-les en mémoire.
Cinq erreurs courantes à éviter
- Appeler
getValue()dans une boucle : sur des milliers de lignes, chaque appel ralentit fortement le script. Lisez toute la plage en une fois avecgetValues(), puis bouclez sur le tableau obtenu. - Ignorer les permissions : au premier lancement, Apps Script demande des autorisations. Si vous les refusez ou les fermez, le script échoue. Lisez et acceptez les permissions demandées.
- Dépasser les six minutes d'exécution : un script trop long est interrompu. Découpez le traitement en lots et utilisez un déclencheur récurrent qui reprend là où le précédent s'est arrêté.
- Compter sur
Logger.log()en production : ces journaux ne sont visibles qu'en mode débogage. Pour des traces durables, écrivez plutôt dans une feuille dédiée. - Créer un
onEditqui se rappelle lui-même : si la fonction modifie une cellule, elle relanceonEditet provoque une boucle. Protégez-vous avec un indicateur ou une condition stricte.
Se former pour automatiser durablement
Apps Script transforme Google Workspace en véritable plateforme d'automatisation. En quelques jours d'apprentissage, vous pouvez supprimer des heures de travail manuel chaque semaine : mail merge, rapports automatiques, génération de devis, synchronisation de données. Le tout gratuitement, sans serveur à gérer.
Pour aller plus vite et bâtir des automatisations fiables, mieux vaut maîtriser d'abord les fondations de la suite. C'est l'objet de notre formation Google Workspace : elle couvre Sheets, Docs, Forms, Drive et les premières automatisations Apps Script. Elle débouche sur une certification ICDL reconnue, se suit à distance ou en présentiel, avec un démarrage immédiat et un paiement en 3 fois sans frais (financement CPF possible). Pour situer Apps Script dans l'ensemble de la suite, consultez aussi notre guide Google Workspace, c'est quoi, ou notre tutoriel Google Docs, l'une des applications que l'on automatise le plus souvent.



