Les fonctions Google Sheets : comment automatiser vos calculs efficacement

Foto dell'autore

Automatiser Google Sheets : macros, formules dynamiques et Apps Script

Tutoriel · Automatisation

Ressaisir 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).

Les 4 façons d’automatiser Google Sheets
1Fonctions dynamiques — ARRAYFORMULA, QUERY, FILTER, IMPORTRANGE calculent et se mettent à jour seules, sans copier-coller.
2Mise en forme & validation — colorer, alerter ou contraindre la saisie automatiquement selon des règles.
3Macros enregistrées — rejouer une suite d’actions d’un simple raccourci, sans écrire de code.
4Google Apps Script — un vrai script qui s’exécute à l’ouverture, à chaque modification ou à heure fixe.

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é.

Ce qu’il vous faut
  • 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.
Bon à savoirCes fonctions se recalculent seules quand les données sources changent : c’est la forme d’automatisation la plus robuste, car il n’y a aucun script à maintenir.

2. Mise en forme conditionnelle et validation des données

Deux automatisations « sans formule visible » qui font réagir la feuille à la saisie.

Découvrir l\\\'article :  Maîtriser la fonction SOMME.SI dans Excel : Astuces pour additionner selon des critères

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.

Enregistrer une macro, étape par étape
  • 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.
AstuceLe choix références absolues vs relatives est décisif : une macro de mise en forme d’un tableau standard se fait en absolu, une action à répéter « là où je clique » se fait en relatif.
▶ YouTube Prolific Oaktree
Google Sheets - Macro Tutorial with Examples
Google Sheets — Macro Tutorial with Examples

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.

Découvrir l\\\'article :  Comment utiliser la fonction SI dans Google Sheets pour des calculs conditionnels efficaces

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.
}
AttentionLes déclencheurs simples (onEdit, onOpen) ne peuvent pas envoyer d’e-mail ni accéder à d’autres services protégés. Pour cela, créez un déclencheur installable depuis le menu Déclencheurs — Google demandera alors une autorisation.

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 besoinMéthode recommandéeOutil
Calcul répété sur toute une colonneFonction dynamiqueARRAYFORMULA
Extraire / trier / filtrer des donnéesFonction dynamiqueQUERY, FILTER
Consolider plusieurs fichiersFonction dynamiqueIMPORTRANGE
Colorer / alerter selon une valeurMise en forme conditionnelleFormat > MFC
Fiabiliser la saisie (listes, cases)Validation des donnéesDonnées > Validation
Rejouer une suite d’actions manuellesMacro enregistréeExtensions > Macros
Réagir à une modificationScript (déclencheur simple)onEdit
Envoyer un e-mail / agir à heure fixeScript (déclencheur installable)Apps Script + Déclencheurs
Être prévenu d’un changementNotification native ou scriptOutils > Règles de notification
Découvrir l\\\'article :  Comment utiliser les cases à cocher dans Google Sheets pour automatiser vos tâches
À retenir
  • 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 : onEdit pour 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 ?+
Oui, largement. Les fonctions dynamiques (ARRAYFORMULA, QUERY, FILTER), la mise en forme conditionnelle, la validation des données et les macros enregistrées ne demandent aucune programmation. Le code (Apps Script) ne devient utile que pour les automatisations événementielles avancées.
Comment enregistrer une macro dans Google Sheets ?+
Allez dans Extensions > Macros > Enregistrer une macro, choisissez références absolues ou relatives, effectuez vos actions, puis cliquez sur Enregistrer et nommez la macro. Vous pourrez la relancer via le menu Macros ou un raccourci clavier.
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 ?+
Dans l’interface en français, le séparateur d’arguments est le point-virgule (;). Écrire QUERY(A1:D, "…") avec des virgules provoque une erreur : utilisez QUERY(A1:D; "…").
Comment recevoir un e-mail quand la feuille change ?+
Le plus simple : Outils > Règles de notification pour un e-mail automatique à chaque modification ou réponse de formulaire. Pour un message personnalisé, écrivez un script avec MailApp.sendEmail associé à un déclencheur installable.
Sources officielles Pour approfondir, consultez l’aide officielle Google Sheets sur les macros et la documentation Google Apps Script sur les déclencheurs. La liste complète des fonctions est détaillée dans l’aide Google, régulièrement mise à jour.

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.

Lucas Martin

Lascia un commento