Automatiser Google Sheets : macros, formules dynamiques et Apps Script
Tutoriel · AutomatisationRessaisir les mêmes calculs, recopier une formule sur des centaines de lignes, mettre à jour un tableau à la main… Google Sheets sait faire tout cela à votre place. Voici les quatre voies d’automatisation réelles, de la plus simple (une formule) à la plus puissante (un script déclenché tout seul).
La bonne méthode dépend de la tâche : une formule suffit souvent pour un calcul répétitif, tandis qu’un envoi d’e-mail programmé ou une action déclenchée par une modification demandent un script. On les passe en revue dans l’ordre, du plus accessible au plus avancé.
- Un compte Google et une feuille de calcul Google Sheets (aucune installation).
- Pour les macros et les scripts : un accès au menu Extensions de la feuille.
- Aucune connaissance en programmation pour les points 1 à 3 ; des notions de JavaScript aident pour Apps Script.
- Séparateur d’arguments en français : le point-virgule (
;), pas la virgule.
1. Les fonctions dynamiques : automatiser les calculs
C’est le premier réflexe. Une formule bien pensée recalcule toute seule à chaque changement de données. Quatre fonctions couvrent l’essentiel des besoins d’automatisation.
ARRAYFORMULA — appliquer une formule à toute une colonne
Au lieu de recopier =B2*C2 ligne par ligne, une seule formule traite toute la plage. Les nouvelles lignes se calculent automatiquement, sans rien recopier.
=ARRAYFORMULA(SI(B2:B=""; ""; B2:B*C2:C)) // Multiplie quantité × prix sur toute la colonne, // et laisse la cellule vide tant qu'il n'y a pas de donnée.
QUERY — interroger vos données comme une base SQL
QUERY applique un langage proche du SQL pour filtrer, trier et regrouper sans manipulation manuelle. Idéal pour extraire une sous-liste qui se met à jour d’elle-même.
=QUERY(A1:D; "SELECT A, B WHERE C > 100 ORDER BY B DESC"; 1) // Renvoie les colonnes A et B des lignes où C dépasse 100, // triées par B décroissant. Le 1 indique une ligne d'en-tête.
FILTER — n’afficher que les lignes utiles
Plus simple que QUERY pour un filtre par condition. Le résultat se recompose automatiquement dès que les données changent.
=FILTER(A2:C; B2:B>100) // Affiche uniquement les lignes dont la colonne B dépasse 100.
IMPORTRANGE — rapatrier des données d’une autre feuille
IMPORTRANGE alimente automatiquement une feuille de synthèse depuis un autre fichier Sheets. À la première utilisation, un bouton d’autorisation apparaît : il faut cliquer sur Autoriser l’accès pour connecter les deux fichiers.
=IMPORTRANGE("URL_ou_ID_du_fichier"; "Feuille1!A1:D") // Copie en temps réel la plage A1:D de l'autre classeur.
2. Mise en forme conditionnelle et validation des données
Deux automatisations « sans formule visible » qui font réagir la feuille à la saisie.
Mise en forme conditionnelle
Elle colore ou met en gras des cellules automatiquement selon leur contenu. Rendez-vous dans Format > Mise en forme conditionnelle, choisissez une plage, puis une règle simple (« supérieur à », « contient le texte… ») ou une formule personnalisée pour des cas plus fins.
// Formule personnalisée : surligne toute la ligne // dès que le montant de la colonne D dépasse 1000. =$D2>1000
Validation des données
Elle contraint et fiabilise la saisie. Via Données > Validation des données, vous pouvez créer une liste déroulante, imposer une date valide, une case à cocher, ou rejeter les valeurs hors critère. Résultat : moins d’erreurs, et des colonnes prêtes à être exploitées par vos formules.
3. Les macros enregistrées : automatiser sans coder
Une macro enregistre une suite d’actions (mise en forme, tri, insertion de colonnes…) et les rejoue à l’identique. C’est l’entrée idéale dans l’automatisation quand on ne veut pas écrire de code — Google convertit en réalité vos gestes en script Apps Script, sans que vous ayez à le toucher.
- Menu Extensions > Macros > Enregistrer une macro.
- Choisissez références absolues (agit toujours sur les mêmes cellules) ou relatives (agit à partir de la cellule sélectionnée).
- Réalisez vos actions normalement — elles sont enregistrées.
- Cliquez sur Enregistrer, nommez la macro et, si vous voulez, attribuez-lui un raccourci clavier.
- Relancez-la à tout moment via Extensions > Macros ou son raccourci.
4. Google Apps Script : l’automatisation qui se déclenche seule
Pour tout ce que les formules et les macros ne savent pas faire — envoyer un e-mail, écrire une date automatiquement, exécuter une tâche à heure fixe — il y a Google Apps Script, un environnement JavaScript intégré. Ouvrez-le via Extensions > Apps Script.
Un déclencheur « à chaque modification » (onEdit)
La fonction onEdit est un déclencheur simple : elle s’exécute automatiquement à chaque édition de la feuille. Exemple courant — horodater une ligne dès qu’on la remplit :
function onEdit(e) { const range = e.range; // Si on modifie la colonne B (n°2)… if (range.getColumn() === 2) { // …écrit la date du jour dans la colonne C. range.offset(0, 1).setValue(new Date()); } }
Un déclencheur à heure fixe (temporel)
Pour lancer une fonction chaque jour ou chaque semaine — par exemple un rapport ou un rappel par e-mail — on utilise un déclencheur temporel installable. Dans l’éditeur Apps Script, ouvrez le menu Déclencheurs (icône horloge) > Ajouter un déclencheur, puis choisissez la source d’événement Basé sur le temps.
function rappelHebdo() { MailApp.sendEmail( "destinataire@exemple.com", "Rappel hebdomadaire", "Le tableau de suivi est à mettre à jour." ); // À associer à un déclencheur temporel // depuis le menu Déclencheurs de l'éditeur. }
Les notifications automatiques
Sans script, Google Sheets sait déjà vous prévenir : via Outils > Règles de notification, recevez un e-mail à chaque modification de la feuille ou à chaque réponse à un formulaire lié. Pour des alertes sur-mesure (contenu personnalisé, condition précise), c’est MailApp.sendEmail dans Apps Script qui prend le relais.
Quelle méthode pour quel besoin ?
Choisissez le niveau d’automatisation le plus simple qui règle votre problème — inutile de scripter ce qu’une formule fait déjà.
| Votre besoin | Méthode recommandée | Outil |
|---|---|---|
| Calcul répété sur toute une colonne | Fonction dynamique | ARRAYFORMULA |
| Extraire / trier / filtrer des données | Fonction dynamique | QUERY, FILTER |
| Consolider plusieurs fichiers | Fonction dynamique | IMPORTRANGE |
| Colorer / alerter selon une valeur | Mise en forme conditionnelle | Format > MFC |
| Fiabiliser la saisie (listes, cases) | Validation des données | Données > Validation |
| Rejouer une suite d’actions manuelles | Macro enregistrée | Extensions > Macros |
| Réagir à une modification | Script (déclencheur simple) | onEdit |
| Envoyer un e-mail / agir à heure fixe | Script (déclencheur installable) | Apps Script + Déclencheurs |
| Être prévenu d’un changement | Notification native ou script | Outils > Règles de notification |
- Commencez toujours par une fonction dynamique : c’est l’automatisation la plus fiable et sans maintenance.
- En français, séparez les arguments de vos formules par un point-virgule.
- Une macro enregistrée automatise sans écrire une ligne de code — Google la convertit en script pour vous.
- Apps Script ouvre les vraies automatisations événementielles :
onEditpour réagir à une saisie, un déclencheur temporel pour agir à heure fixe. - Pour envoyer un e-mail depuis un script, il faut un déclencheur installable, pas un déclencheur simple.
Questions fréquentes
Peut-on automatiser Google Sheets sans savoir coder ?+
Comment enregistrer une macro dans Google Sheets ?+
Quelle est la différence entre onEdit et un déclencheur temporel ?+
onEdit s’exécute automatiquement à chaque modification de la feuille (déclencheur simple). Un déclencheur temporel, lui, lance une fonction à intervalle régulier (chaque jour, chaque semaine) indépendamment des saisies ; on le crée via le menu Déclencheurs de l’éditeur Apps Script.Pourquoi ma formule renvoie une erreur avec une virgule ?+
;). Écrire QUERY(A1:D, "…") avec des virgules provoque une erreur : utilisez QUERY(A1:D; "…").Comment recevoir un e-mail quand la feuille change ?+
MailApp.sendEmail associé à un déclencheur installable.Besoin d’un dépannage rapide sur une formule précise ? Consultez notre série les formules Google Sheets qui sauvent : 12 dépannages express.





