Extension des feuilles de calcul Google Sheets à l'aide de modules complémentaires

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

Vous pouvez étendre Sheets avec des modules complémentaires qui créent des améliorations de workflow personnalisées, é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 Google Workspace Marketplace.

Ce que vous pouvez faire

Voici quelques exemples de ce que vous pouvez faire avec un module complémentaire qui étend Google Sheets:

Les modules complémentaires Sheets sont créés à l'aide d'Apps Script. Pour découvrir comment accéder à Google Sheets et le gérer avec Apps Script, consultez la section Étendre Google Sheets.

Structure de la feuille

Une feuille de calcul Google Sheets se compose d'une ou de plusieurs feuilles. Chaque feuille est essentiellement une grille 2D de cellules 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 feuilles de calcul Apps Script fournit plusieurs classes pour représenter les structures organisationnelles dans Sheets (par exemple, 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 qu'un module complémentaire est installé.

Pour en savoir plus sur les déclencheurs de modules complémentaires, consultez la section Déclencheurs de modules complémentaires.

Fonctions personnalisées

Google Sheets propose 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 incluses avec le module complémentaire deviennent immédiatement disponibles. Un module complémentaire peut ne consister que en 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 pour les 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 intégrée de Sheets: dans une cellule de feuille, saisissez =, suivi du nom de la fonction et des paramètres requis. En l'absence d'erreurs, le résultat renvoyé par la fonction est placé dans la cellule de la feuille, débordant dans 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 respecter certaines considérations particulières:

  • Lorsque vous nommez votre fonction, essayez de créer un nom unique, qui peut être lié au nom de votre module complémentaire. Si deux modules complémentaires ou plus installés définissent des fonctions personnalisées portant le même nom, les utilisateurs ne peuvent en utiliser qu'un seul.
  • Votre module complémentaire doit indiquer clairement les fonctions personnalisées qu'il propose. 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, soit dans le module complémentaire lui-même, soit sur une page Web d'assistance du module complémentaire.
  • Les fonctions personnalisées qui ne se terminent pas en moins de 30 secondes échouent avec une erreur Internal error executing the custom function. Créez une bonne expérience utilisateur en limitant la quantité de traitement que vous effectuez dans une fonction personnalisée. Optimisez la fonction dans la mesure du possible.
  • Les fonctions personnalisées ne peuvent pas utiliser les services Apps Script qui nécessitent une autorisation. Si vous essayez de le faire, une erreur You do not have permission to call X service s'affiche. N'utilisez que les services autorisés dans votre fonction personnalisée.
  • Chaque fonction personnalisée d'une feuille génère 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 atténuer ce problème, simplifiez vos fonctions personnalisées autant que possible. 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é via un élément de menu, une boîte de dialogue ou une interaction dans la barre latérale.

Macros Sheets

Les macros vous permettent d'enregistrer des actions effectuées dans Google Sheets et de les répéter plus tard à l'aide d'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 section 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, elle n'est pas disponible pour les utilisateurs de ce module complémentaire.