Étendre Google Sheets avec des modules complémentaires

Google Sheets est une solution de feuille de calcul basée sur le cloud qui offre une collaboration en temps réel et des outils puissants pour visualiser, traiter et communiquer des données.

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

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

Ce que vous pouvez faire

Voici quelques exemples de ce que vous pouvez faire avec des modules complémentaires qui étendent Sheets :

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

Structure des feuilles

Une feuille de calcul Sheets se compose d'une ou de plusieurs feuilles. Chaque feuille est essentiellement une grille de cellules 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 de feuille de calcul 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é.

Pour en savoir plus sur les déclencheurs de modules complémentaires pouvant être utilisés avec les modules complémentaires Sheets et sur les restrictions qui s'appliquent à leur utilisation, consultez Déclencheurs de modules complémentaires.

Fonctions personnalisées

Sheets dispose d'un certain nombre de fonctions intégrées telles que SUM et AVERAGE qui peuvent être appelées à partir d'une cellule 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 incluses dans le module complémentaire sont immédiatement disponibles. Il est possible qu'un module complémentaire ne contienne 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 modules complémentaires

Toute fonction définie dans un projet de script de module complémentaire peut être utilisée comme fonction personnalisée. Une fois la fonction implémentée et le module complémentaire installé, vous pouvez appeler la fonction personnalisée comme n'importe quelle autre fonction Sheets intégrée : dans une cellule de feuille, saisissez = suivi du nom de la fonction et de tous les paramètres requis. S'il n'y a pas d'erreur, le résultat renvoyé par la fonction est placé dans la cellule Sheets, en débordant sur les cellules voisines si nécessaire.

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

De plus, les fonctions personnalisées définies dans les modules complémentaires doivent tenir compte de certains aspects spécifiques :

  • Lorsque vous nommez votre fonction, essayez de créer un nom unique, peut-être lié au nom de votre module complémentaire. Si deux modules complémentaires installés ou plus définissent des fonctions personnalisées portant le même nom, les utilisateurs ne peuvent en utiliser qu'une seule.
  • Votre module complémentaire doit indiquer clairement les fonctions personnalisées qu'il fournit. Veillez à fournir des commentaires JSDoc précis pour vos fonctions personnalisées afin qu'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 dans le module complémentaire lui-même ou sur une page Web d'assistance pour le module complémentaire.
  • Les fonctions personnalisées qui ne se terminent pas en moins de 30 secondes échouent avec l'erreur Internal error executing the custom function (Erreur interne lors de l'exécution de la fonction personnalisée). Offrez une bonne expérience utilisateur en limitant la quantité de traitement que vous effectuez dans une fonction personnalisée. Optimisez la fonction lorsque cela est possible.
  • Les fonctions personnalisées ne peuvent pas utiliser les services Apps Script qui nécessitent une autorisation et échouent avec l'erreur You do not have permission to call X service (Vous n'êtes pas autorisé à appeler le service X) si vous tentez de le faire. N'utilisez que les services autorisés dans votre fonction personnalisée.
  • Chaque fonction personnalisée dans Sheets entraîne un appel distinct aux serveurs Apps Script. Si un utilisateur tente d'utiliser des fonctions personnalisées dans un trop grand nombre de cellules, les fonctions peuvent s'exécuter lentement. Pour éviter cela, simplifiez au maximum vos fonctions personnalisées. Si vous avez besoin que la fonction effectue un traitement complexe ou étendu, n'utilisez pas de fonction personnalisée. Fournissez plutôt cette fonctionnalité à l'aide d'un élément de menu, d'une boîte de dialogue ou d'une interaction de barre latérale.

Macros Sheets

Les macros vous permettent d'enregistrer les actions effectuées dans Sheets et de les répéter ultérieurement à l'aide d'un raccourci clavier. Lorsqu'une macro est créée dans une feuille Sheets, elle est ajoutée en tant que fonction macro dans un projet Apps Script lié à cette feuille. Pour en savoir plus sur les macros, consultez Macros 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, elle n'est pas disponible pour les utilisateurs de ce module complémentaire.