Google Apps Script vous permet d'effectuer de nouvelles actions intéressantes avec Google Sheets. Vous pouvez utiliser Apps Script pour ajouter des menus personnalisés, des boîtes de dialogue et des 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 le guide de démarrage rapide de 5 minutes sur les macros, les menus et les fonctions personnalisées.
Premiers pas
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 les données structurées dans la feuille de calcul et en créant des objets JavaScript pour elles.
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, cliquez sur Journal d'exécution en haut de l'éditeur de script.
É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 et interfaces utilisateur personnalisés
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 dans une feuille de calcul. La fonction s'exécutera lorsqu'un utilisateur cliquera sur l'image ou le 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. Par exemple, l'exemple suivant montre comment définir une règle de validation des données n'autorisant 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 les pages 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 d'une plage spécifique. L'exemple suivant génère un graphique à barres intégré, en supposant que vous disposiez de données exploitables 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 telle que =SUM(A1:A5)
, sauf que vous définissez le comportement 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 sont 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).