Les macros dans Google Sheets permettent d’automatiser des tâches répétitives dans Google Sheets, très simplement, sans coder. Nous avons vu les bases dans cet article Automatiser des tâches avec les macros Google Sheets.
Aujourd’hui, nous allons voir quelques exemples de macros courantes que vous pouvez utiliser pour optimiser votre travail.
Comment importer des macros dans Google Sheets
Voyons d’abord comment importer une macro dans votre propre Google Sheets :
- Ouvrez Apps Script en allant dans Extensions > Apps Script

- Copier-coller le code de votre macro dans l’éditeur
- Puis enregistrez en cliquant sur Enregistrer

- Ensuite, liez le code à une macro dans Google Sheets en allant dans
- Extensions > Macros > Importer une macro

- Dans la fenêtre importer, cliquez sur Ajouter la fonction

Note : au premier lancement, vous devez autoriser la macro.
Pour exécuter la macro, allez dans Extensions > Macros > [Nom de votre macro]

Exemples de macros
Pour importer les macros données en exemple ci-dessous, suivez la procédure décrite au dessus.
Insérer la date du jour
Cette macro permet d’insérer la date du jour dans la cellule sélectionnée, au format français.
function insererDate() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cell = sheet.getActiveCell();
cell.setValue(new Date()).setNumberFormat("dd/MM/yyyy");
}
Démonstration de la macro :

Supprimer les lignes vides
Cette macro supprime toutes les lignes vides d’une feuille de calcul pour nettoyer les données.
function supprimerLignesVides() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getDataRange();
const values = range.getValues();
const emptyRows = values
.map((row, index) => ({ index: index + 1, isEmpty: row.join("").trim() === "" }))
.filter(row => row.isEmpty)
.map(row => row.index)
.reverse();
emptyRows.forEach(rowIndex => sheet.deleteRow(rowIndex));
}
Démonstration de la macro :

Mettre en surbrillance des doublons
Cette macro met en surnbirllance les valeurs dupliquées dans une colonne. Placez vous sur la colonne que vous souhaitez analyser et lancez la macro.
Note : la macro ne prend pas en compte la ligne des en-têtes (ligne 1).
function mettreEnSurbrillanceDoublons() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getDataRange();
const values = range.getValues().map(row => row[0]);
const seen = new Set();
values.forEach((value, index) => {
if (index === 0) return;
if (seen.has(value)) {
sheet.getRange(index + 1, 1).setBackground("red");
} else {
seen.add(value);
}
});
}
Démonstration de la macro :

Réinitialiser les filtres
Cette macro permet de réinitialiser tous les filtres appliqués sur une feuille de calcul.
function resetFilter() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const filter = sheet.getFilter();
if (filter) {
filter.remove();
}
const range = sheet.getDataRange();
range.createFilter();
}
Démonstration de la macro :

Afficher toutes les feuilles masquées
Cette macro permet de réinitialiser tous les filtres appliqués sur une feuille de calcul.
function resetFilter() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const filter = sheet.getFilter();
if (filter) {
filter.remove();
}
const range = sheet.getDataRange();
range.createFilter();
}
Démonstration de la macro :
