Macros Google Sheets

Google Sheets vous permet d'enregistrer macros qui dupliquent d'interactions d'UI que vous définissez. Une fois que vous avez enregistré un vous pouvez la lier à un raccourci clavier dans le formulaire Ctrl+Alt+Shift+Number Vous pouvez utiliser ce raccourci pour exécuter rapidement des étapes de macro exactes, généralement à un autre endroit ou sur des données différentes. Vous pouvez également activer la macro à partir des extensions Google Sheets > Macros.

Lorsque vous enregistrez une macro, Google Sheets crée automatiquement un script Apps Script (la fonction de macro) qui réplique les étapes de la macro. La macro est ajoutée à un projet Apps Script lié à la feuille, dans un fichier nommé macros.gs. En cas d'absence déjà un fichier de projet lié à la feuille portant ce nom, la fonction macro y est ajoutée. Google Sheets met automatiquement à jour le script le fichier manifeste du projet, avec son nom et le raccourci clavier attribué à la macro.

Étant donné que chaque macro enregistrée est entièrement définie dans Apps Script, vous pouvez et les modifier directement dans l'éditeur Apps Script. Vous pouvez même écrire des macros à partir de zéro dans Apps Script, ou utiliser des fonctions que vous avez déjà écrites les transformer en macros.

Créer des macros dans Apps Script

Vous pouvez utiliser des fonctions écrites dans Apps Script comme des fonctions de macro. Le moyen le plus simple de le faire est de en important une fonction existante Éditeur Google Sheets.

Vous pouvez également créer des macros dans l'éditeur Apps Script en en procédant comme suit:

  1. Dans l'interface utilisateur de Google Sheets, sélectionnez Extensions >. Apps Script pour ouvrir le lié à la feuille dans l'éditeur Apps Script.
  2. Écrivez la fonction macro. Les fonctions de macro ne doivent accepter aucun argument et renvoyer aucune valeur.
  3. Modifier le fichier manifeste de script pour créer la macro et la lier à la fonction de macro. Attribuez-lui une le raccourci clavier et le nom.
  4. Enregistrez le projet de script. La macro peut alors être utilisée dans la feuille.
  5. Testez la fonction de macro dans la feuille pour vérifier qu'elle fonctionne comme prévu.

Modification des macros

Vous pouvez modifier les macros jointes à une feuille de la manière suivante:

  1. Dans l'interface utilisateur de Google Sheets, sélectionnez Extensions >. Macros > Gérer les macros.
  2. Recherchez la macro que vous souhaitez modifier, puis sélectionnez-la. > Modifier la macro Cela permet d'ouvrir l'éditeur Apps Script vers le fichier de projet contenant la fonction de macro.
  3. Modifiez la fonction de macro pour changer le comportement de la macro.
  4. Enregistrez le projet de script. La macro peut alors être utilisée dans la feuille.
  5. Testez la fonction de macro dans la feuille pour vérifier qu'elle fonctionne comme prévu.

Importer des fonctions sous forme de macros

S'il existe déjà un script lié à une feuille, vous pouvez importer une fonction dans le script en tant que nouvelle macro, puis l'affecter un raccourci clavier. Pour ce faire, vous pouvez modifier le fichier manifeste et en ajoutant un autre élément au fichier sheets.macros[].

Vous pouvez également procéder comme suit pour importer une fonction en tant que macro à partir du Interface utilisateur de Sheets:

  1. Dans l'interface utilisateur de Google Sheets, sélectionnez Extensions >. Macros > Importer.
  2. Sélectionnez une fonction dans la liste qui s'affiche, puis cliquez sur Ajouter une fonction.
  3. Sélectionnez pour fermer la boîte de dialogue.
  4. Sélectionnez Extensions > Macros. > Gérer les macros.
  5. Recherchez la fonction que vous venez d'importer dans la liste. Attribuer un clavier unique un raccourci vers la macro. Ici, vous pouvez également modifier le nom de la macro. le nom est défini par défaut sur le nom de la fonction.
  6. 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 montre la section d'un manifest qui définit les macros Google Sheets. La section sheets du fichier manifeste définit le nom et le raccourci clavier. attribuée à la macro et le nom de sa fonction.

  {
    ...
    "sheets": {
      "macros": [{
        "menuName": "QuickRowSum",
        "functionName": "calculateRowSum",
        "defaultShortcut": "Ctrl+Alt+Shift+1"
      }, {
        "menuName": "Headerfy",
        "functionName": "updateToHeaderStyle",
        "defaultShortcut": "Ctrl+Alt+Shift+2"
      }]
    }
  }

Consultez la ressource de fichier manifeste de macro Sheets. pour en savoir plus sur la création des fichiers manifestes de macro Sheets.

Bonnes pratiques

Lorsque vous créez ou gérez des macros dans Apps Script, il est recommandé respectent les consignes suivantes.

  1. Les macros sont plus performantes lorsqu'elles sont légères. Si possible, limitez le nombre d'actions effectuées par une macro.
  2. Les macros sont particulièrement adaptées aux opérations par cœur qui doivent être répétées souvent avec peu ou pas de configuration. Pour les autres opérations, envisagez à l'aide d'un élément de menu personnalisé.
  3. N'oubliez pas que les raccourcis clavier des macros doivent être uniques et qu'une valeur La feuille ne peut contenir que dix macros avec des raccourcis à la fois. Toute utilisation supplémentaire ne peuvent être exécutées qu'à partir du menu Extensions > Menu Macros.
  4. Les macros qui modifient une seule cellule peuvent être appliquées à une plage de en sélectionnant d'abord la plage complète, puis en activant la macro. Par conséquent, il est souvent inutile de créer des macros qui dupliquent les même opération sur une plage prédéfinie de cellules.

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. Macro sont ignorées si elles sont définies dans script autonome ou application Web.

Définir des macros dans les modules complémentaires Sheets

Vous ne pouvez pas distribuer des définitions de macro à l'aide d'un Module complémentaire Sheets. Toute définition de macro dans une feuille de calcul Sheets sont ignorés par les utilisateurs de ce projet.

Distribuer des macros dans des bibliothèques de scripts

Vous ne pouvez pas distribuer des définitions de macro à l'aide d'Apps Script. bibliothèques

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 ou Slides.