Catégories
Growth Hacking tutoriel

Google Script : Boostez Google Sheet en créant vos propres fonctions !

Google script est une librairie de fonctions javascript fournie par google et permettant de faire communiquer les applications google suite (google doc, slide, sheets, mail, etc.) entre elles. Nous allons voir aujourd’hui le potentiel qu’apporte google script à google sheet.

Si je devais résumer en quelques mots, google script permet d’étendre les fonctionnalités de google sheet en y ajoutant des formules, des interfaces (menus, popup…) & des routines (lance ce script tous les jours…).

Chez deux.io, on considère que le growth ne s’apprend pas en lisant des livres, mais en le pratiquant. Dans la team, chaque personne a 1 à 3 compétences clés : Analytics, Paid, SEO, Landing Pages, AB, Outbound…Chaque semaine, l’un d’entre nous présente une thématique aux autres membres de la team. C’est essentiel pour rester au meilleur niveau & enrichir la « barre horizontale » de son profil T-Shaped. Depuis peu, nous avons décidé d’ouvrir ces sessions à l’extérieur, en partageant les vidéos de nos sessions et en les convertissant en articles.

Il y a quelques semaines, j’ai présenté les Google Scripts. Voici la vidéo de ma session, et l’article décrivant le tout ci-dessous. N’hésitez pas à vous abonner à notre chaîne youtube pour recevoir les prochaines !

Google script est une librairie de fonctions javascript fournie par google et permettant de faire communiquer les applications google suite (google doc, slide, sheets, mail, etc.) entre elles. Nous allons voir aujourd’hui le potentiel qu’apporte google script à google sheet.

Si je devais résumer en quelques mots, google script permet d’étendre les fonctionnalités de google sheet en y ajoutant des formules, des interfaces (menus, popup…) & des routines (lance ce script tous les jours…).

Dans la vidéo, je vous explique :

  1. Ce qu’est Google Script, et comment écrire votre 1er script
  2. Comment créer une formule google sheet permettant d’importer des données depuis une API
  3. Comment ajouter des menus à google sheet & créer un embryon d’application
  4. Comment ajouter des routines automatiques, afin de lancer une fonction à intervalle régulier (tous les jours, heures, minutes…par exemple)

Dans cet article, je me concentre sur les étapes 1 et 2, en vous expliquant en détails comment créer des formules google sheet pour :

  • Trouver un genre depuis un prénom et scaler votre outbound
  • Trouver le site web d’une entreprise depuis son nom
  • Trouver les détails d’une entreprise française depuis son siren

Ce que vous devez comprendre, c’est qu’il s’agit d’une manière pour google de nous promouvoir sa suite bureautique. Plus s’y connecter sera simple, plus on l’utilisera et plus nombreux seront ceux à voir l’intérêt de switcher sur google suite. Et franchement, c’est TRÈS réussi.

Démarrons.

Google Script + Google Sheet : Les basiques

Vous connaissez sans doute les formules =sum() ou =count() sur google sheet ? et bien nous pouvons en créer de nouvelles en quelques ligne grâce à google scripts.

Quelques exemples :

  • =flickr(keyword) pour retourner une image flickr depuis un mot clés
  • =gender(firstname) pour retourner le genre depuis un prénom
  • =companyWebsite(companyName) pour retourner le site web d’une entreprise depuis son nom
  • =companyDetails(siren) pour retourner le détails d’une entreprise depuis son SIREN
  • =bitly(url) pour rétrécir une url en utilisant bitly

Mais commençons par la base : les google scripts sont utilisables dans google sheet par le biais du menu « Tools » puis de l’option « Script Editor »…

google sheet script menu

…qui vous ouvre alors une nouvelle fenêtre vous permettant de créer vos scripts :

google sheet script edit

Cette interface est composée de 3 parties clés :

  • À gauche, les fichiers : vous pouvez mettre toutes vos fonctions dans un seul fichier, mais dès lors que vos scripts commencent à être un peu lourd, on les divise en général par grandes fonctionnalités, pour garder en lisibilité / maintenabilité.
  • En haut, les options : elles vous permettent de sauver ou exécuter vos fonctions
  • À droite, le code en lui-même : il s’agit du code javascript que vous allez créer et qui créera vos fonctions.

Commençons simple. Dans la partie de droite, entrez le code suivant :

function helloWorld() {
return "Hello World!";
}

Que fait ce code selon vous ?

C’est simple: il s’agit d’une nouvelle formule google sheet qui, une fois exécutée – avec une commande simple du type =helloWorld() dans une cellule quelconque – affichera (retournera d’où le return) « Hello World ! »

Rien de plus, mais on voit déjà le potentiel : en 3 lignes, vous venez d’améliorer google sheet en lui ajoutant une formule qu’il ne connaissait pas auparavant. Génial non ?

Maintenant que vous voyez comment créer une nouvelle formule, créons une formule qui ait un peu plus d’utilité que de retourner un texte statique…

Importer les données d’une API dans Google Sheet avec Google Script

Cette fois, nous allons créer une formule réellement utile ?

Trouver le genre depuis un prénom

Lorsque l’on fait du cold emailing, il nous arrive régulièrement d’avoir à qualifier le genre d’une personne, afin de pouvoir lui dire “Bonjour M.” ou “Bonjour Mme”. Mais comment faire lorsque l’on a 1000 personnes dans la liste ?

  • Option 1: le faire à la main => Autant se pendre…
  • Option 2: déléguer à quelqu’un => Autant le pendre…
  • Option 3: Créer une formule Google Sheet => “tirer” la formule sur les 1000 lignes ?

Pour démarrer, rendez-vous sur genderize.io: Il s’agit d’une API qui nous permet de trouver le genre depuis un prénom, ultra simplement. Essayez par exemple avec le prénom “Brice”, et vous obtiendrez le résultat suivant:

genderize api

Ce que vous retourne cette API est qu’elle est sûre à 99% (0.99) que “Brice” est un prénom masculin (“male”). Top, c’est exactement ce que ‘on veut ?

Voyons comment l’exploiter pour en faire une formule =gender(prénom) que l’on peut tirer sur nos 1000 lignes d’un coup.

Commencez par ouvrir l’éditeur, et copiez ce code:

function gender(firstname) {
  var url = "https://api.genderize.io/?name=" + firstname;
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var data = JSON.parse(json);
  return data.gender;
}

Que fait ce code ?

  1. Il crée une nouvelle fonction nommée “gender” qui prend en argument un “firstname” (un prénom…).
  2. La fonction va former l’url en passant le prénom dans l’url de tout à l’heure…
  3. puis “fetcher” (récupérer les informations) depuis cette url
  4. Elle va ensuite récupérer le contenu
  5. et Analyser son contenu en tant que json (format de fichier, un peu comme le csv, mais pour ordinateur)
  6. Pour finalement retourner la valeur que l’api a retournée au sein du champs “gender”.

Maintenant que nous avons créé une nouvelle formule Google Sheet, sauvez le script (Cmd+S ou Ctrl+S) et revenez à la feuille de calcul.

Ajoutez un prénom en A1, et tapez en B1 =gender(A1).

Patientez une seconde…boum ! le genre est retourné ? Vous avez une nouvelle formule fonctionnelle et utilisable sur autant de ligne que vous voulez, vous permettant de trouver le genre de l’ensemble des personnes de votre google sheet. Génial, non ?

Maintenant, relisez le code, et comprenez bien ceci: dans le code ci-dessus, seules les ligne 2 et 6 sont spécifiques à mon api => La ligne 2 définit l’url, et la 6 choisit la valeur à retourner.

Mais si on veut récupérer de la donnée depuis une autre api, on devra toujours procéder aux lignes 3, 4 et 5 (récupérer l’info depuis l’url formée, et la traiter en tant que json).

Donc maintenant que vous savez créer une formule pour récupérer la donnée depuis une API, il ne vous suffit plus que d’en trouver de nouvelles pour en faire une formule google sheet !

Prenons d’autres exemples.

Trouver le site web d’une société depuis son nom

Nous utiliserons ici l’api autocomplete de clearbit, qui retourne depuis un nom de société son domaine et son logo.

Concrètement, en appelant https://autocomplete.clearbit.com/v1/companies/suggest?query=deux%20io

Vous obtenez:

Nous pouvons créer ici 3 scripts google sheets:

Trouver le domaine d’une société depuis son nom

function companyWebsite(companyName) {
  var url = "https://autocomplete.clearbit.com/v1/companies/suggest?query=" + companyName;
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var data = JSON.parse(json);
  return data[0].domain;
}

Trouver le logo d’une société depuis son nom

function companyLogo(companyName) {
  var url = "https://autocomplete.clearbit.com/v1/companies/suggest?query=" + companyName;
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var data = JSON.parse(json);
  return data[0].logo;
}

Trouver le domaine ET le logo d’une société depuis son nom

function companyLogo(companyName) {
  var url = "https://autocomplete.clearbit.com/v1/companies/suggest?query=" + companyName;
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var data = JSON.parse(json);
  return [[data[0].domain, data[0].logo]];
}

Retourner le details d’une société depuis son SIREN

Nous utiliserons ici l’api SIRENE du gouvernement français ??. En passant le numéro de siren d’une entreprise, vous obtenez tous les détails la concernant.

Concrètement, en appelant https://entreprise.data.gouv.fr/api/sirene/v1/siren/789566353 vous obtenez

J’ai coupé le screenshot, car le nombre d’infos retournées est trop important …cliquez, vous verrez le détails ?

Nous allons créer un script google sheets permettant de retourner les infos suivantes depuis un SIREN:

  • numéro de TVA
  • SIRET
  • Nom de la Raison Sociale
  • Numéro et Rue
  • Code postal et Ville
  • Libellé de l’Activité Principale
  • Catégorie d’Entreprise
  • Date de Création de l’Entreprise
function sirene(siren) {
  var url = "https://entreprise.data.gouv.fr/api/sirene/v1/siren/" + siren;
  var response = UrlFetchApp.fetch(url);
  var json = response.getContentText();
  var data = JSON.parse(json);
  return [[ 
    data.numero_tva_intra, data.siege_social.siret, data.siege_social.nom_raison_sociale, 
    data.siege_social.l4_declaree, data.siege_social.l6_declaree, data.siege_social.libelle_activite_principale, 
    data.siege_social.categorie_entreprise, data.siege_social.date_creation_entreprise
    ]];
}

Je pourrais ajouter d’autres scripts, mais si vous avez pris le temps de lire chacun d’entre eux, vous avez compris le principe ? & pouvez passer au niveau 3:

  • Créer une app complète depuis google sheet en y ajoutant des menus
  • Ou en lançant des scripts de manière récurrente (scraper ceci tous les matins par exemple)

J’aborde ça dans la vidéo, n’hésitez pas à y jeter un oeil !

Si vous avez aimé cet article, n’hésitez pas à le partager ?

Par Brice

Fondateur de DEUX•IO, Agence de Conseil en Marketing pour Startup / Growth Marketing. Ancien marketeur chez Musiwave, Xbox & Zune. Geek.

5 réponses sur « Google Script : Boostez Google Sheet en créant vos propres fonctions ! »

Hey je tiens à vous remercier pour la mine d’or que c’est cet article !

J’ai essayé les scripts, cependant celui du siret ne m’affichent pas les résultats :
– function siren(siren)

S’il m’affiche un résultat c’est uniquement le  » data.numero_tva_intra  » et non le reste

les données de l’api SIRET ne sont pas les meme que celles de l’api SIREN, il faut que tu changes les champs que je recupere dans le script par ceux que tu veux depuis l’api SIRET.

Dans la console, choisis ton script dans le menu déroulant, puis clique le bouton PLAY une premiere fois. Google Sheet va te demander les droits, valide les.

Voila, tu as les droits.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *