Extension de Google Sheets avec des modules complémentaires

Google Sheets est une solution cloud de feuilles de calcul qui permet de collaborer en temps réel et de disposer d'outils puissants pour visualiser, traiter et communiquer des données.

Vous pouvez étendre Sheets avec des modules complémentaires qui permettent d'améliorer les workflows personnalisés, d'établir une connectivité avec des systèmes tiers et d'intégrer vos données Sheets dans d'autres Google Workspace applications (comme Google Slides).

Vous pouvez consulter les modules complémentaires Sheets créés par d'autres utilisateurs sur Google Workspace Marketplace.

Recommandations

Voici quelques actions que vous pouvez effectuer avec un module complémentaire qui étend Google Sheets:

  • Vous pouvez lire, modifier, visualiser et mettre en forme des données dans des feuilles de calcul Google Sheets à l'aide du service Spreadsheet Apps Script intégré. Le service vous permet également de créer et de modifier des règles de mise en forme conditionnelle et de validation des données.
  • Vous pouvez utiliser le service Sheets avancé d'Apps Script pour accéder directement à l'API REST Sheets.
  • Vous pouvez créer des menus personnalisés et définir plusieurs boîtes de dialogue et barres latérales personnalisées à l'aide des langages HTML et CSS standards.
  • Vous pouvez inclure des définitions de fonctions personnalisées dans votre module complémentaire.
  • Vous pouvez utiliser des déclencheurs de modules complémentaires qui exécutent des fonctions spécifiées lorsque certains événements de déclenchement se produisent.

Les modules complémentaires Sheets sont créés à l'aide d'Apps Script. Pour en savoir plus sur l'accès à Google Sheets et sa gestion avec Apps Script, consultez la page Extension de Google Sheets.

Structure de la feuille

Une feuille de calcul Google Sheets comprend une ou plusieurs feuilles. Chaque feuille est essentiellement une grille de cellules en 2D dans laquelle du texte, des nombres, des liens ou d'autres valeurs peuvent être stockés. Un groupe d'une ou plusieurs cellules adjacentes est appelé plage.

Le service Spreadsheet Apps Script fournit plusieurs classes pour représenter les structures organisationnelles dans Sheets (telles que Sheet et Range). Vous pouvez utiliser ces classes pour lire et modifier les données et le comportement de Sheets.

Déclencheurs

Les déclencheurs Apps Script permettent à un projet de script d'exécuter une fonction spécifiée lorsque certaines conditions sont remplies, par exemple lorsqu'une feuille de calcul est ouverte ou lorsqu'un module complémentaire est installé.

Consultez la section Déclencheurs de module complémentaire pour en savoir plus sur les déclencheurs pouvant être utilisés avec les modules complémentaires Sheets et sur les restrictions qui s'appliquent à leur utilisation.

Fonctions personnalisées

Google Sheets intègre un certain nombre de fonctions intégrées, comme SUM et AVERAGE, qui peuvent être appelées à partir d'une cellule Google Sheets. Les modules complémentaires Sheets peuvent définir des fonctions personnalisées supplémentaires pour compléter ces fonctions intégrées. Lorsqu'un utilisateur installe le module complémentaire, toutes les fonctions personnalisées définies qui lui sont associées deviennent immédiatement disponibles. Un module complémentaire ne peut contenir que des définitions de fonctions personnalisées. Les définitions de fonctions personnalisées sont principalement partagées avec d'autres utilisateurs en publiant un module complémentaire contenant les définitions.

Créer des fonctions personnalisées de module complémentaire

Toute fonction définie dans un projet de script de module complémentaire peut être utilisée en tant que fonction personnalisée. Une fois la fonction implémentée et le module complémentaire installé, vous pouvez l'appeler comme n'importe quelle autre fonction Sheets intégrée: dans une cellule Sheets, saisissez = suivi du nom de la fonction et de tous les paramètres requis. En l'absence d'erreurs, le résultat renvoyé par la fonction est placé dans la cellule Sheets et déborde vers les cellules voisines, si nécessaire.

Lorsque vous créez des fonctions personnalisées dans un module complémentaire, vous devez respecter les consignes générales suivantes:

En outre, les fonctions personnalisées définies dans les modules complémentaires doivent faire l'objet d'une attention particulière:

  • Lorsque vous nommez votre fonction, essayez de créer un nom unique, peut-être lié au nom de votre module complémentaire. Si plusieurs modules complémentaires installés définissent des fonctions personnalisées portant le même nom, les utilisateurs ne peuvent en utiliser qu'une.
  • Votre module complémentaire doit indiquer clairement ses fonctions personnalisées. Veillez à fournir des commentaires JSDoc précis pour vos fonctions personnalisées afin que Apps Script puisse présenter des informations de saisie semi-automatique à l'utilisateur. En outre, envisagez de fournir une documentation supplémentaire sur les fonctions personnalisées, que ce soit dans le module complémentaire lui-même ou sur une page Web d'assistance dédiée.
  • Les fonctions personnalisées qui se terminent en moins de 30 secondes échouent avec une erreur Internal error executing the custom function. Améliorez l'expérience utilisateur en limitant la quantité de traitements à effectuer dans une fonction personnalisée. Optimisez la fonction lorsque vous le pouvez.
  • Les fonctions personnalisées ne peuvent pas utiliser les services Apps Script qui nécessitent une autorisation et échouent avec une erreur You do not have permission to call X service si une tentative est effectuée. N'utilisez que les services autorisés dans votre fonction personnalisée.
  • Chaque fonction personnalisée d'une feuille entraîne un appel distinct aux serveurs Apps Script. Si un utilisateur tente d'utiliser des fonctions personnalisées dans trop de cellules, celles-ci peuvent s'exécuter lentement. Pour limiter cela, simplifiez autant que possible vos fonctions personnalisées. Si vous avez besoin d'une fonction pour effectuer un traitement complexe ou étendu, n'utilisez pas de fonction personnalisée. Proposez plutôt cette fonctionnalité via un élément de menu, une boîte de dialogue ou une interaction de la barre latérale.

Macros Sheets

Les macros vous permettent d'enregistrer les actions effectuées dans Google Sheets et de les répéter plus tard avec un raccourci clavier. Lorsqu'une macro est créée dans une feuille, elle est ajoutée en tant que fonction de macro dans un projet Apps Script lié à cette feuille. Pour en savoir plus sur les macros, consultez la page Macros Google Sheets.

Malheureusement, les macros Sheets ne peuvent pas être distribuées avec des modules complémentaires. Si vous incluez une définition de macro dans le fichier manifeste d'un module complémentaire, les utilisateurs de ce module ne peuvent pas y accéder.