5
(1)

SERVICEWEB (SERVICEWEB, fonction) – Support Microsoft

Qu’est-ce que c’est un service web ?

Service web — Wikipedia (wikipedia.org)

En gros un site qui répond à votre demande d’information (exemple : distance Dijon-Lyon, propriétaire du site ayant telle adresse…)

Je vous propose de découvrir la fonction SERVICEWEB au travers de plusieurs exemples.
Il faut bien évidemment une connexion internet pour accéder à ces services.
Ces sites/services/API web sont parfois payants parfois limités, parfois nécessitant une clé identification.

Les services utilisés comme exemple sont libres d’accès mais certains peuvent changer de politique d’accès ou disparaître du jour au lendemain !

Cette fonction renvoie souvent des données sous forme d’une chaîne :

Ces chaines de texte normées (XML/JSON) contiennent des balises/clés permettant de « facilement » récupérer une portion spécifique.

De cette chaîne, on extrait donc l’information qui nous intéresse via la fonction FILTRE.XML (pour le XML) ou via des fonctions de manipulation de chaîne ou via par l’outil Excel PowerQuery (pour le JSON).

MAJ : 4 autres services sont présentés dans l'article Exploiter des données d'Internet avec la fonction SERVICEWEB 2 (suite))

  • Graphiques intégrés aux cellules,
  • Information sur les sociétés,
  • Liste des jours fériés par pays,
  • Informations sur Chuck Norris (😁).

Service 1 : Information sur une IP

Objectif : "Géolocalise moi !".

Site : http://ip-api.com

On a ici le choix XML ou JSON (cf https://ip-api.com/docs) mais ce n’est pas toujours le cas !

B2 
=SERVICEWEB("http://ip-api.com/xml/") ' > On obtient une chaine XML 

B5
 =FILTRE.XML(B2;"query/region")        ' > La balise query puis region renvoie BFC 

Excel : Fonction SERVICEWEB, exemple 1
Affichage de position géographique

Service 2 : Informations sur une IP

Objectif : Récupérer une information concernant une adresse IP.

Sites :

– http://ip-api.com
– https://ipapi.co

Exemple illustrant que chaque site a sa syntaxe !
Version mono-formule :

=FILTRE.XML(SERVICEWEB("http://ip-api.com/xml/8.8.8.8");"query/org") ' > Renvoie GOOGLE 
=FILTRE.XML(SERVICEWEB("https://ipapi.co/8.8.8.8/xml/");"root/org")  ' > Renvoie GOOGLE 

Excel : Fonction SERVICEWEB, exemple 2
Information sur le propriétaire d'une adresse IP

Service 3 : Informations sur une adresse postale

Objectif : Contrôler la validité d’une adresse.

Site : https://adresse.data.gouv.fr/api-doc/adresse

Ici, la difficulté est de traiter le retour en format JSON !

On va passer par PowerQuery et pour "simplifier", on récupère une table et non une simple valeur.

Le nombre d’étapes de transformation est spécifique à chaque chaîne JSON

1-Importer la chaine dans PowerQuery

Ruban Données>A partir de Tableau ou d’une plage (groupe Récupérer et transformer des données).

Excel : Fonction SERVICEWEB, exemple 3
Importation de la chaîne JSON dans PowerQuery

2-Convertion de la chaîne JSON dans PowerQuery

Ruban Transformer > Analyser > JSON

Excel : Fonction SERVICEWEB, exemple 3
Analyse de la chaîne JSON dans PowerQuery

3-On développe la colonne (ici JSON)

Excel : Fonction SERVICEWEB, exemple 3

Excel : Fonction SERVICEWEB, exemple 3
Développement de la colonne dans PowerQuery

4-Idem pour la colonne features

Excel : Fonction SERVICEWEB, exemple 3
Développement de la colonne dans PowerQuery

La valeur de la colonne Features passe de List à Record.

5-On recommence la colonne features

Excel : Fonction SERVICEWEB, exemple 3
Développement de la colonne dans PowerQuery

Si l’adresse est incorrecte, plusieurs variantes d’adresse sont retournées (1 par ligne).

Via la colonne geométrie, on peut accéder aux coordonnées géographiques (latitude/longitude) du lieu.

6-On affiche les valeurs de la colonne properties

Vu que l’on a un enregistrement unique (1 ligne), je propose de le présenter en table (2 colonnes et n lignes) sinon ce serait en tableau (on ferait Développer la colonne).

Cliquer sur Record.

Excel : Fonction SERVICEWEB, exemple 3
Affichage de l'enregistrement dans PowerQuery

Affichage de l'enregistrement dans PowerQuery.

Puis Convertir > En table

Excel : Fonction SERVICEWEB, exemple 3
Conversion de l'enregistrement en table dans PowerQuery

7-Retour dans Excel (Ouf !)

Ruban Accueil > Fermer et charger dans...

Excel : Fonction SERVICEWEB, exemple 3
Renvoie de la table PowerQuery dans Excel
Excel : Fonction SERVICEWEB, exemple 3
Renvoie de la table PowerQuery dans Excel

Résultat :

Excel : Fonction SERVICEWEB, exemple 3

La valeur score reflète l’exactitude de l’adresse par rapport à celle renvoyée (j’imagine).

Service 4 : Fulgurances de Kanye West

Objectif : Ouvrir son esprit et apprendre des grands de ce monde.

Site https://api.kanye.rest

Pour finir, on se détend avec encore du JSON mais en beaucoup plus simple comme notre ami.

JSON renvoyant une citation de KanyeWest.

Excel : Fonction SERVICEWEB, exemple 4

Merci pour votre attention bienveillante.

Article intéressant ?

Cliquez sur une étoile pour noter cet article !

Note moyenne 5 / 5. Nombre de votes : 1

Aucun vote pour l'instant ! Soyez le premier à noter ce post.

Nous sommes désolés que cet article ne vous ait pas été utile !

Améliorons cet article !

Dites nous comment nous pouvons améliorer cet article ?

Publications similaires

2 commentaires

Laisser un commentaire

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