---
title: Traiter l information avec GoogleSheet
tags: lowcode, data, googlesheet
robots: noindex, nofollow
author: Julien Noyer
---
# Traiter l'information avec GoogleSheet
*Quand Google fait les choses biens, autant les utiliser correctement*

*© [Julien Noyer](https://www.linkedin.com/in/julien-n-21219b28/) - All rights reserved for educational purposes only*
---
## Introduction
[GoogleSheet](https://www.google.com/intl/fr/sheets/about/) est un outil de Google des plus puissant. Il est simple d'accès et offre des possibilités avancées dû au fait qu'il est possible de créer des scripts pour différentes opérations. Dans ce support de cours, nous allons étudier la mise en place de scripts et l'utilisation de certaines formules de calcul.
> Pour utiliser [GoogleSheet](https://www.google.com/intl/fr/sheets/about/) vous devez disposer d'un compte Google.
## Crée un script GoogleSheet
Les scripts sont des outils puissants qui permettent d'exécuter du code directement dans un tableur [GoogleSheet](https://www.google.com/intl/fr/sheets/about/). Pour en ajouter un dans votre tableur vous devez cliquer sur le menu `Outils > Editeur de script` qui ouvre une nouvelle page.
Une fois sur la page d'édition de scripts, il faut créer un projet puis créer un script depuis le menu `Fichier` (le script est à ajouter dans le projet créé). Le script que nous allons créer nous permettra d'exécuter une fonction `ImportJSON` qui à pour but de charger un flux JSON pour l'intégrer dans le tableur.
Cliquez sur le lien suivant pour copier les fonctions du fichier `ImportJSON` :
- https://bit.ly/3rg9Yhr
Vous devez ensuite coller le code copié dans l'éditeur de script, puis le sauvegarder avant de passer à l'étape suivante.
> Ce script est au format `.gs` qui est une version de `Javascript` à la sauce Google.
---
# Utiliser le script dans un tableur
Une fois le script `ImportJSON` créé il est utilisable directement dans une cellule du tableur, le flux que nous chargeons pour ce support est celui de l'API JC Decaux qui renvoie la liste des implémentation de stations de vélo de JC Decaux dans le monde. Nous créons donc un tableau nommé `bike-jc-decaux`, nous renommons le premier feuillet `from-api` puis nous nous plaçons sur la première cellule pour y taper le code suivant qui nous permettra d'utiliser le script `ImportJSON` :
```js
=ImportJSON("https://api.jcdecaux.com/vls/v1/stations?apiKey=18fcf3d232b96d61be2cf6e490125e6e0ba2f848")
```
> Le script `ImportJSON` peut fonctionner sur toutes les routes API publiques, ou directement un fichier JSON.
Il faut attendre un certain temps que la fonction récupère le contenu de l'[API JCDecaux](https://developer.jcdecaux.com) pour que soit remplie le feuillet avec les données de l'API.
---
# Formater les valeurs des cellules pour réaliser un feuillet d'analyse
Avant d'exécuter des formules de calcul sur un tabler, il faut d'abord s'assurer du format des valeurs dans les cellules. Dans le cadre d'un calcul par exemple, il faut absolument que la valeur soit définie comme `nombre` sinon nous auront des erreur en retour de nos opérations.
Dans le cadre de notre projet, nous allons devoir copier le contenu du feuillet `from-api`(sans la première ligne) pour créer un nouveau feuillet nommé `data` pour formater les données des cellules.
> Ne pas oublier de recréer dans le feuillet `data`l'index du tableau sur la première ligne.
Dans le feuillet `data` nous allons définir les colonnes `Number`, `Bike Stands`, `Available Bike Stands` et `Available Bikes` en les sélectionnant et en allant dans le menu `Format > Nombre > Nombre`. Nous n'allons pas traiter plus de formats différents dans ce support, mais il est possible par exemple de définir un format de devise pour calculer des prix.
---
# La fonction SUM()
> **Syntaxe :** SUM(valeur1; [valeur2; ...])
Nous allons à présent créer un feuillet `stat-world` que nous allons utiliser pour calculer les statistiques mondiales. Nous commençons par lui donner la structure suivante :
```js
Bike Stands | Available Bike Stands | Available Bikes | Openned Closed
```
Nous allons faire le calcule de la somme totale de chaque implémentation de station JSDecaux, en commençant par le nombre total de stande disponible dans le monde. Pour ce faire, nous allons utiliser la fonction [SUM()](https://support.google.com/docs/answer/3093669?hl=fr). Nous nous plaçons dans la cellule `A2` pour y taper le code suivant :
```js
=SUM('data'!C2:C25)
```
Nous utilisons ensuite cette fonction les autres cellules en faisant glisser le coin inférieur droit de la cellule `A:2` jusqu'à la cellule `B:2`.
> `SUM()` affiche la somme d'une série de nombres et/ou de cellules. [En savoir plus](https://support.google.com/docs/answer/3093198?hl=fr).
---
# La fonction UNIQUE()
> **Syntaxe :** UNIQUE(plage)
Nous allons à présent créer un feuillet `stat-city` que nous allons utiliser pour calculer les statistiques par ville. Nous commençons par lui donner la structure suivante :
```js
Contract Name | Number | Bike Stands | Available Bike Stands | Available Bikes Openned Closed
```
Nous allons à présent lister toutes les villes présentes dans le feuillet `data` afin de les ajouter dans le feuillet `stat-city`. Nous nous plaçons sur la cellule `A2` pour y ajouter le code suivant :
```js
=UNIQUE(data!B2:B2606)
```
> `UNIQUE()` renvoie des lignes uniques en excluant les doublons. [En savoir plus](https://support.google.com/docs/answer/3093198?hl=fr).
---
# La fonction SUMIF()
> **Syntaxe :** SUMIF(plage; critère; [somme_plage])
Dans feuillet `stat-city` à présent nous allons calculer le sommes de `Bike Stands`, nous cellule `C2` pour y ajouter le code suivant :
```js
=SUMIF(data!B2:B2614; A2; data!I2:I2614)
```
Le code précédent prend en compte toutes les lignes du feuillet `data` qui ont la même valeur dans les colonnes `B2`à `B2614` que la cellule `A:2` du feuillet `stat-city` pour calculer la sommes des valeurs des cellule de `I2` à `12606` du feuillet `data`.
> `UNIQUE()` affiche une somme conditionnelle au sein d'une plage. [En savoir plus](https://support.google.com/docs/answer/3093583?hl=fr).
---
# La fonction COUNTIF()
> **Syntaxe :** COUNTIF(plage, critère)
Dans feuillet `stat-city` à présent nous allons calculer le sommes de stands ouvert, nous nous plaçons sur la cellule `C3` pour y ajouter le code suivant :
```js
=COUNTIF(data!B3:B2614; A3) + COUNTIF(data!L3:L2614; "CLOSE")
```
Le code précédent prend en compte toutes les lignes du feuillet `data` qui ont la même valeur dans les colonnes `B2`à `B2614` que la cellule `A:2` du feuillet `stat-city` pour calculer la sommes des valeurs égales `CLOSE` des cellule de `L2` à `L2606` du feuillet `data`.
> `COUNTIF()` affiche un calcul conditionnel dans une plage. [En savoir plus](https://support.google.com/docs/answer/3093480?hl=fr).
---
## Ressources

> Index des liens vers les sujets traités dans ce document :
- **GoogleSheet** https://www.google.com/intl/fr/sheets/about/
- **Google Aide Editeur Docs** https://support.google.com/docs
- **JCDecaux developer** https://developer.jcdecaux.com