Google Sheets vous permet d'enregistrer des macros qui dupliquent une série spécifique d'interactions de l'interface utilisateur que vous définissez. Une fois la macro enregistrée, vous pouvez l'associer à un raccourci clavier au format Ctrl+Alt+Shift+Number
. Vous pouvez utiliser ce raccourci pour exécuter rapidement à nouveau les étapes de macro exactes, généralement à un autre endroit ou sur des données différentes.
Vous pouvez également activer la macro depuis le menu Extensions
> Macros de Google Sheets.
Lorsque vous enregistrez une macro, Google Sheets crée automatiquement une fonction Apps Script (la fonction de macro) qui réplique les étapes de la macro. La fonction de macro est ajoutée à un projet Apps Script lié à la feuille, dans un fichier nommé macros.gs
. Si un fichier de projet portant ce nom est déjà lié à la feuille, la fonction de macro y est ajoutée. Google Sheets met également à jour automatiquement le fichier manifeste du projet de script, en enregistrant le nom et le raccourci clavier attribués à la macro.
Étant donné que chaque macro enregistrée est entièrement définie dans Apps Script, vous pouvez les modifier directement dans l'éditeur Apps Script. Vous pouvez même écrire des macros à partir de zéro dans Apps Script, ou transformer des fonctions que vous avez déjà écrites en macros.
Créer des macros dans Apps Script
Vous pouvez utiliser des fonctions écrites en Apps Script et les utiliser comme des fonctions de macro. Pour ce faire, le moyen le plus simple consiste à importer une fonction existante à partir de l'éditeur Google Sheets.
Vous pouvez également créer des macros dans l'éditeur Apps Script en procédant comme suit:
- Dans l'interface utilisateur de Google Sheets, sélectionnez Extensions > Apps Script pour ouvrir le script lié à la feuille dans l'éditeur AApps Script.
- Écrivez la fonction de macro. Les fonctions de macro ne doivent accepter aucun argument et ne renvoyer aucune valeur.
- Modifiez votre fichier manifeste de script pour créer la macro et l'associer à sa fonction. Attribuez-lui un nom et un raccourci clavier uniques.
- Enregistrez le projet de script. La macro peut ensuite être utilisée dans la feuille de calcul.
- Testez la fonction macro dans la feuille pour vérifier qu'elle fonctionne comme prévu.
Modification des macros
Pour modifier les macros associées à une feuille, procédez comme suit:
- Dans l'interface utilisateur de Google Sheets, sélectionnez Extensions > Macros > Gérer les macros.
- Recherchez la macro que vous souhaitez modifier, puis sélectionnez > Modifier la macro. L'éditeur Apps Script s'ouvre et affiche le fichier de projet contenant la fonction de la macro.
- Modifiez la fonction de la macro pour modifier son comportement.
- Enregistrez le projet de script. La macro peut ensuite être utilisée dans la feuille de calcul.
- Testez la fonction macro dans la feuille pour vérifier qu'elle fonctionne comme prévu.
Importer des fonctions en tant que macros
Si un script est lié à une feuille de calcul, vous pouvez importer une fonction dans le script en tant que nouvelle macro, puis lui attribuer un raccourci clavier. Pour ce faire, modifiez le fichier manifeste et ajoutez un autre élément à la propriété sheets.macros[]
.
Pour importer une fonction en tant que macro depuis l'interface utilisateur de Sheets, procédez comme suit:
- Dans l'interface utilisateur de Google Sheets, sélectionnez Extensions > Macros > Importer.
- Sélectionnez une fonction dans la liste présentée, puis cliquez sur Ajouter une fonction.
- Sélectionnez pour fermer la boîte de dialogue.
- Sélectionnez Extensions > Macros > Gérer les macros.
- Recherchez la fonction que vous venez d'importer dans la liste. Attribuez un raccourci clavier unique à la macro. Vous pouvez également modifier le nom de la macro ici. Par défaut, le nom de la fonction est utilisé.
- Cliquez sur Mettre à jour pour enregistrer la configuration de la macro.
Structure du fichier manifeste pour les macros
L'exemple d'extrait de fichier manifeste suivant présente la section d'un fichier manifeste qui définit les macros Google Sheets.
La section sheets
du fichier manifeste définit le nom et le raccourci clavier attribués à la macro, ainsi que le nom de la fonction.
{
...
"sheets": {
"macros": [{
"menuName": "QuickRowSum",
"functionName": "calculateRowSum",
"defaultShortcut": "Ctrl+Alt+Shift+1"
}, {
"menuName": "Headerfy",
"functionName": "updateToHeaderStyle",
"defaultShortcut": "Ctrl+Alt+Shift+2"
}]
}
}
Consultez le guide Structure du fichier manifeste pour en savoir plus sur la construction des fichiers manifestes Apps Script. Les sections Sheets et Macro décrivent les champs qui définissent les macros Sheets.
Bonnes pratiques
Lorsque vous créez ou gérez des macros dans Apps Script, nous vous recommandons de suivre les consignes suivantes.
- Les macros sont plus performantes lorsqu'elles sont légères. Si possible, limitez le nombre d'actions effectuées par une macro.
- Les macros sont particulièrement adaptées aux opérations de rotation qui doivent être répétées fréquemment avec peu ou pas de configuration. Pour les autres opérations, envisagez plutôt d'utiliser un élément de menu personnalisé.
- N'oubliez pas que les raccourcis clavier macros doivent être uniques et qu'une feuille donnée ne peut avoir que 10 macros avec raccourcis à la fois. Les autres macros ne peuvent être exécutées qu'à partir du menu Extensions > Macros.
- Pour appliquer des macros à une seule cellule, vous devez d'abord sélectionner la plage complète, puis activer la macro. Cela signifie qu'il est souvent inutile de créer des macros qui dupliquent la même opération sur une plage de cellules prédéfinie.
Ce que vous ne pouvez pas faire
Certaines restrictions s'appliquent aux macros:
Utiliser des macros en dehors des scripts liés
Les macros sont définies dans des scripts liés à des feuilles de calcul Google Sheets spécifiques. Les définitions de macro sont ignorées si elles sont définies dans un script autonome ou une application Web.
Définir des macros dans les modules complémentaires Sheets
Vous ne pouvez pas distribuer de définitions de macros à l'aide d'un module complémentaire Sheets. Toutes les définitions de macro d'un projet de module complémentaire Sheets sont ignorées par les utilisateurs de ce module.
Distribuer des macros dans des bibliothèques de scripts
Vous ne pouvez pas distribuer des définitions de macro à l'aide des bibliothèques Apps Script.
Utiliser des macros en dehors de Google Sheets
Les macros ne sont disponibles que dans Google Sheets. Elles n'existent pas dans Google Docs, Forms ni Slides.