Étendre les fonctionnalités de Google Sheets

Google Apps Script vous permet de faire des choses nouvelles et sympas avec Google Sheets. Vous pouvez utiliser Apps Script pour ajouter des menus personnalisés ; boîtes de dialogue et barres latérales à Google Sheets. Il y a aussi vous permet d'écrire des fonctions personnalisées pour Sheets, et intégrer Sheets à d'autres Services Google tels qu'Agenda, Drive et Gmail

La plupart des scripts conçus pour Google Sheets manipulent les tableaux pour interagir avec les cellules, les lignes et les colonnes d'une feuille de calcul. Si vous n'êtes pas familier avec les tableaux en JavaScript, Codecademy propose module d'entraînement idéal pour les tableaux. (Notez que ce cours n'a pas été développé par Google et n'est pas associé à Google.)

Pour une présentation rapide de l'utilisation d'Apps Script avec Google Sheets, consultez la Guide de démarrage rapide en 5 minutes Macros, menus et fonctions personnalisées

Commencer

Apps Script inclut des API spéciales qui vous permettent de créer, lire et modifier des feuilles de calcul Google Sheets. Apps Script peut interagir avec Google Sheets de deux manières n'importe quel script peut créer ou modifier une feuille de calcul si l'utilisateur du script les autorisations appropriées pour la feuille de calcul, et un script peut également être liés à une feuille de calcul, donne au script des capacités spéciales pour modifier l'interface utilisateur ou répondre lorsque la feuille de calcul est ouverte. Pour créer un script lié, sélectionnez Extensions > Apps Script depuis Google Sheets.

Le service Spreadsheet traite Google Sheets sous la forme d'une grille, opérant avec des tableaux bidimensionnels. Pour récupérer les données de la feuille de calcul, vous devez avoir accès à la feuille de calcul dans laquelle les données sont dans la feuille de calcul contenant les données, puis obtenez des cellules. Apps Script facilite l'accès aux données en lisant des données structurées dans la feuille de calcul et créer des objets JavaScript pour celles-ci.

Lire des données

Supposons que vous ayez une liste de noms de produits et de numéros de produits que vous stockez dans une feuille de calcul, comme illustré dans l'image ci-dessous.

L'exemple ci-dessous montre comment récupérer et consigner les noms des produits de chiffres.

function logProductInfo() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {
    Logger.log('Product name: ' + data[i][0]);
    Logger.log('Product number: ' + data[i][1]);
  }
}

Afficher les journaux

Pour afficher les données enregistrées, en haut de l'éditeur de script, cliquez sur Journal d'exécution.

Écrire des données

Pour stocker des données, telles qu'un nouveau nom et un nouveau numéro de produit, feuille de calcul, ajoutez le code suivant à la fin du script.

function addProduct() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(['Cotton Sweatshirt XL', 'css004']);
}

Le code ci-dessus ajoute une nouvelle ligne au bas de la feuille de calcul, avec le spécifiées. Si vous exécutez cette fonction, une nouvelle ligne est ajoutée au feuille de calcul.

Menus personnalisés et interfaces utilisateur

Vous pouvez personnaliser Google Sheets en ajoutant des menus, des boîtes de dialogue et et les barres latérales. Pour découvrir les bases de la création de menus, consultez la Guide des menus. Pour en savoir plus sur la personnalisation contenu d'une boîte de dialogue, consultez les guide du service HTML.

Vous pouvez également associer une fonction de script à une image ou à un dessin au sein d'un feuille de calcul ; la fonction s'exécute lorsqu'un utilisateur clique sur l'image ou un dessin. Pour en savoir plus, consultez Images et dessins dans Google Sheets.

Si vous envisagez de publier votre interface personnalisée dans le cadre d'un module complémentaire, suivez le guide de style pour plus de cohérence avec le style et la mise en page de l'éditeur Google Sheets.

Connexion à Google Forms...

Apps Script vous permet d'associer Google Forms à Google Sheets via Forms et Services de feuilles de calcul Cette fonctionnalité peuvent créer automatiquement un formulaire Google à partir des données d'une feuille de calcul. Apps Script vous permet également d'utiliser des déclencheurs : onFormSubmit pour effectuer une action spécifique après qu'un utilisateur a répondu au formulaire. Pour en savoir plus sur l'association de Google Sheets à Google Forms, consultez le guide Réponses aux formulaires Google Forms Guide de démarrage rapide en 5 minutes

Mise en forme

La classe Range comporte des méthodes telles que setBackground(color) pour consulter et modifier le format d'une cellule ou d'une plage de cellules. Les éléments suivants : exemple montre comment définir le style de police d'une plage:

function formatMySpreadsheet() {
  // Set the font style of the cells in the range of B2:C2 to be italic.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var cell = sheet.getRange('B2:C2');
  cell.setFontStyle('italic');
}

Validation des données

Apps Script vous permet d'accéder aux règles de validation des données existantes dans Google Sheets ou créer des règles. L'exemple suivant montre comment définir règle de validation des données qui n'autorise que les nombres compris entre 1 et 100 dans une cellule.

function validateMySpreadsheet() {
  // Set a rule for the cell B4 to be a number between 1 and 100.
  var cell = SpreadsheetApp.getActive().getRange('B4');
  var rule = SpreadsheetApp.newDataValidation()
     .requireNumberBetween(1, 100)
     .setAllowInvalid(false)
     .setHelpText('Number must be between 1 and 100.')
     .build();
  cell.setDataValidation(rule);
}

Pour en savoir plus sur l'utilisation des règles de validation des données, consultez SpreadsheetApp.newDataValidation(), DataValidationBuilder, et Range.setDataValidation(rule)

Graphiques

Apps Script vous permet d'intégrer des graphiques dans une feuille de calcul qui représentent les données dans un plage spécifique. L'exemple suivant génère un graphique à barres intégré, en supposant que vous avez des données de graphique dans les cellules A1:B15:

function newChart() {
  // Generate a chart representing the data in the range of A1:B15.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.BAR)
     .addRange(sheet.getRange('A1:B15'))
     .setPosition(5, 5, 0, 0)
     .build();

  sheet.insertChart(chart);
}

Pour en savoir plus sur l’intégration d’un graphique dans votre feuille de calcul, voir EmbeddedChart et des créateurs de graphiques spécifiques, tels que EmbeddedPieChartBuilder

Fonctions personnalisées dans Google Sheets

Une fonction personnalisée est semblable à une fonction de feuille de calcul intégrée comme =SUM(A1:A5), à la différence près que vous définissez des fonctions avec Apps Script. Par exemple, vous pouvez créer in2mm(), qui convertit une valeur de pouces en millimètres, puis utilise la formule dans votre feuille de calcul en saisissant =in2mm(A1) ou =in2mm(10) dans un cellule.

Pour en savoir plus sur les fonctions personnalisées, consultez Menus et fonctions personnalisées guide de démarrage rapide de 5 minutes guide des fonctions personnalisées.

Macros

Les macros constituent un autre moyen d'exécuter du code Apps Script à partir de l'interface utilisateur de Google Sheets. Contrairement aux fonctions personnalisées, vous pouvez les activer à l'aide d'un raccourci clavier le menu Google Sheets. Pour en savoir plus, consultez Macros Google Sheets.

Modules complémentaires pour Google Sheets

Les modules complémentaires sont des packages Apps Script spécialement conçus pour eux. s'exécutant dans Google Sheets et pouvant être installés depuis la boutique de modules complémentaires Google Sheets. Si vous avez développé un script pour Google Sheets et que vous souhaitez le partager avec le monde entier, Apps Script vous permet publiez votre script en tant que afin que d'autres utilisateurs puissent l'installer depuis la boutique de modules complémentaires.

Déclencheurs

Scripts liés à un fichier Google Sheets peuvent utiliser des déclencheurs simples, comme les fonctions onOpen() et onEdit() pour répondre automatiquement lorsqu'un utilisateur ayant autorisé des modifications à la feuille de calcul permet d'ouvrir ou de modifier la feuille de calcul.

Comme pour les déclencheurs simples, déclencheurs installables permettent à Google Sheets exécuter automatiquement une fonction lorsqu'un certain événement se produit. À installer les déclencheurs, cependant, offrent plus de flexibilité que de simples déclencheurs et une assistance les événements suivants: ouvrir, modifier, modifier, envoyer un formulaire et en fonction de l'heure (horloge).