Importxml et actualisation pour dashboard Cryptomonnaie

Bonjour,

Je suis actuellement en train de réaliser un dashboard pour suivre mon portfolio en cryptomonnaies.
Je suis sur Google Sheet car j'ai plus facilement réussi à importer les prix actuels des cryptomonnaies qui m'intéressent.

J'utilise la fonction importxml de la manière suivante :

=SUBSTITUE(SUBSTITUE(SUBSTITUE(IMPORTXML(BASE_URL&F9;PRICE_XPATH);"$";"");",";"");".";",")*1

BASE_URL = https://coinmarketcap.com/fr/currencies/

PRICE_XPATH = //*[@id="section-coin-overview"]/div[2]/span (correspond à l'endroit où le prix est affiché sur coinmarketcap)

F9 = par exemple bitcoin et complete l'url https://coinmarketcap.com/fr/currencies/bitcoin

Les fonctions substitue me permettent simplement de passer du language numérique américain au français.

Tout cela fonctionne très bien.

J'aimerais maintenant pouvoir actualiser les prix à une intervalle régulière et d'au moins toutes les 5 minutes.
Après avoir fait une multitude d'essais la méthode qui s'est le plus approché de mon objectif était d'utiliser une macro qui supprime la valeur de la cellule F9, rendant impossible la fonction ImportXML puis via une autre macro remettre le nom bitcoin, environ 5 à 10 secondes après.

Le problème est le suivant :

J'ai au total 24 lignes de cryptomonnaies et l'ensemble des ImportXML dans une boucle pour le refresh dans les 2 macros font completement tout péter car il y en a simplement beaucoup trop.

Je cherche donc une autre solution, si quelqu'un saurait m'aider, merci à lui !

Ci-joint mon document dont vous pouvez créer une copie pour essayer : https://docs.google.com/spreadsheets/d/1MfAD9wv_tSHkUQCIa_QjgZ-V6kqFOd89kIDsy2ZZELY/edit#gid=6508122...

EDIT : Certaines crypto comme Dark Protocol ne sont pas référencées dans CoinMarketCap, mais ça ce n'est pas grave je peux le changer moi même (sauf si quelqu'un trouve une solution)
Les crypto Husky et Kizuna ont beaucoup de 0 après la virgule et sur CoinMArketCap, ces derniers sont reduit à ..., j'ai donc mis une autre fonction substitue pour remplacer les ... par le nombre de 0 manquants

Bonjour,

A ta place j'irais voir du côté des API

Après quelques recherches sur Internet j'ai trouvé ça :

  • CoinMarketCap a une API (avec une version gratuite)
  • CoinGecko (qui semble avoir ton "Dark Protocol") a aussi une API (avec une version Demo gratuite) et un tuto pour connecter à Google Sheets

Hello Sébastien,

Merci pour ta réponse, j'avais pas envie de me plonger dans les API mais si d'après toi c'est le seul moyen... eh bah je vais essayer !

Bonjour,

Niveau script c'est plus simple avec une API que ajouter, supprimer une formule, tout en étant plus fiable.

Voici une structure "générale" pour communiquer avec une API :

function APIstatut() {
  var tokenAPI = 'XXXXXXXXXXXX';
  var urlAPI = "https://api.xxxxx.fr";
  var query = ['requête langage API'];
  var options = {"headers": {"Authorization": "Bearer "+tokenAPI,
                             "Content-Type": "application/json"
                            },
                 "payload": JSON.stringify({query}),
                 "method": "POST",
                                  }
  var reponse = UrlFetchApp.fetch(url, options).getContentText();
  var liste_reponse = reponse.split(",").length;
  return liste_reponse
  }
Rechercher des sujets similaires à "importxml actualisation dashboard cryptomonnaie"