IMPORTHTML est une fonction exclusive à Google Sheets (IMPORTHTML en anglais) qui te permet d'importer des tableaux ou des listes directement depuis n'importe quelle page web. Plus besoin de copier-coller manuellement les données !
Parfait pour suivre des classements, récupérer des données financières ou automatiser la collecte d'informations publiées sur le web. Les données se mettent à jour automatiquement à chaque ouverture ou recalcul du fichier.
Syntaxe de la fonction IMPORTHTML
=IMPORTHTML(url; requête; index)Comprendre chaque paramètre de la fonction IMPORTHTML
Les trois arguments s'enchaînent toujours dans le même ordre : d'abord l'url de la page, puis le type d'élément à extraire ("table" ou "list"), enfin l'index qui dit lequel prendre. Aucun n'est facultatif.
Le piège n'est pas l'ordre mais l'index : il compte les balises dans le code HTML, pas ce que tu vois à l'écran. Un tableau caché dans l'en-tête peut décaler toute la numérotation.
url
: l'adresse complète de la page web contenant le tableau ou la listeElle doit commencer par "http://" ou "https://". Tu peux saisir l'URL directement entre guillemets ou référencer une cellule qui la contient.
Exemple : "https://fr.wikipedia.org/wiki/Championnat_de_France_de_football". Tu peux stocker l'URL dans une cellule (ex. A1) et écrire =IMPORTHTML(A1; "table"; 1) pour rendre la formule dynamique.
Astuce : Stocke l'URL dans une cellule séparée et référence-la dans la formule. Tu changes l'URL source sans toucher à la formule, ce qui est pratique quand tu surveilles plusieurs pages.
requête
: le type d'élément HTML à extraireDeux valeurs possibles : "table" pour les tableaux HTML (<table>) ou "list" pour les listes à puces ou numérotées (<ul> et <ol>).
Le choix dépend de la structure de la page source. Si les données que tu veux récupérer sont dans un tableau HTML, utilise "table". Si elles sont dans une liste à puces ou numérotée, utilise "list".
index
: le numéro du tableau ou de la liste à extraire, en commençant à `1` pour le premier élément de la pageSi une page contient 5 tableaux et que tu veux le 3e, utilise 3.
L'index correspond à l'ordre d'apparition dans le code HTML de la page, pas à l'ordre visuel. Un tableau dans l'en-tête ou le pied de page peut décaler la numérotation.
Astuce : Pour trouver le bon index, ouvre la page dans ton navigateur, fais clic droit puis "Inspecter" et cherche les balises <table>. Compte leur position dans le code HTML en partant du haut de la page.
Exemples pratiques pas à pas
Finance : suivre les cours de devises
Tu travailles dans la finance et tu veux suivre les taux de change EUR/USD depuis une page qui publie ces données en tableau HTML. Plutôt que d'aller copier-coller les données chaque matin, tu laisses Google Sheets les récupérer automatiquement.
| A | B | C | |
|---|---|---|---|
| 1 | Devise | Cours | Variation |
| 2 | EUR/USD | 1.0856 | +0.12% |
| 3 | EUR/GBP | 0.8534 | -0.05% |
| 4 | EUR/JPY | 162.45 | +0.28% |
=IMPORTHTML("https://exemple.com/devises"; "table"; 1)La fonction récupère le premier tableau HTML de la page (type table, index 1) avec toutes ses colonnes et lignes. À chaque ouverture du fichier ou recalcul forcé (Ctrl+Shift+E), les données sont rafraîchies depuis la source.
Astuce de pro : Stocke l'URL dans la cellule A1 et écris =IMPORTHTML(A1; "table"; 1). Si la source change, tu modifies l'URL une seule fois.
Sport : importer un classement
Tu gères un site sportif et tu veux afficher le classement de Ligue 1 automatiquement mis à jour. Wikipedia est une excellente source car ses tableaux sont bien structurés en HTML standard.
| A | B | C | |
|---|---|---|---|
| 1 | Position | Équipe | Points |
| 2 | 1 | PSG | 52 |
| 3 | 2 | Monaco | 48 |
| 4 | 3 | Lille | 45 |
=IMPORTHTML("https://fr.wikipedia.org/wiki/Championnat_de_France_de_football"; "table"; 4)Ici, la fonction cible le 4e tableau de la page Wikipedia (index 4), celui qui contient le classement. Si les positions bougent après un week-end de match, ton Google Sheets les reflète sans intervention manuelle.
Veille concurrentielle : comparer des produits
Tu fais de la veille concurrentielle et tu veux importer un tableau comparatif de produits depuis un site de tests. Les données se mettent à jour automatiquement quand le site source change ses informations.
Cette approche te permet de construire un dashboard de veille sans aucune API, simplement en pointant vers des pages publiques qui publient leurs données en tableau HTML.
| A | B | C | |
|---|---|---|---|
| 1 | Produit | Prix | Note |
| 2 | Produit A | 299 € | 4.5/5 |
| 3 | Produit B | 349 € | 4.8/5 |
| 4 | Produit C | 279 € | 4.2/5 |
=IMPORTHTML("https://site-test.com/comparatif"; "table"; 1)RH : récupérer une liste de compétences
Tu travailles aux RH et tu veux importer une liste de compétences depuis un référentiel en ligne. Quand les données source sont dans une liste à puces (<ul>) ou numérotée (<ol>), tu utilises "list" comme requête.
| A | |
|---|---|
| 1 | Compétences techniques |
| 2 | JavaScript |
| 3 | Python |
| 4 | SQL |
| 5 | Excel |
=IMPORTHTML("https://referentiel.com/competences"; "list"; 2)La fonction extrait la 2e liste de la page (type list, index 2), qu'elle soit à puces (<ul>) ou numérotée (<ol>). Si la page contient plusieurs listes (navigation, contenu, pied de page), il faut essayer plusieurs index jusqu'à tomber sur la bonne.
Astuce de pro : Utilise "list" quand les données sont dans des puces ou une numérotation HTML. Si la liste que tu vois n'est pas une vraie balise <ul> ou <ol> mais du texte stylé en CSS, IMPORTHTML ne pourra pas la récupérer.
Data : créer un dashboard automatisé
Tu crées un dashboard qui agrège des données de plusieurs sources web. En stockant chaque URL dans une cellule (A1, A2, A3...) et en les référençant dans les formules IMPORTHTML, tu construis un tableau de bord qui se met à jour automatiquement depuis plusieurs pages en même temps.
Cette technique te permet de centraliser des données publiées sur plusieurs sites sans passer par des APIs ou des scripts.
| A | B | C | |
|---|---|---|---|
| 1 | Source | Métrique | Valeur |
| 2 | Site A | Visiteurs | 15 234 |
| 3 | Site B | Ventes | 892 |
| 4 | Site C | Taux conversion | 3.2% |
=IMPORTHTML(A1; "table"; 1)Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction IMPORTHTML
Avec IMPORTHTML, les soucis viennent rarement de ta formule et presque toujours de la page source. Soit elle se défend contre les robots, soit elle construit ses tableaux en JavaScript après le chargement (et IMPORTHTML ne lit que le HTML brut, avant les scripts).
Le troisième cas vient de Google Sheets lui-même : trop de formules IMPORTHTML dans le même fichier finissent par déclencher des erreurs de quota et un #REF!.
Erreur lors de l'extraction des données
Le site bloque les requêtes automatiques (anti-scraping), ou il n'y a pas de tableau ou de liste à l'index spécifié. Certains sites génèrent leur contenu dynamiquement avec JavaScript, ce que IMPORTHTML ne peut pas lire.
Solution : Vérifie que l'URL est correcte et accessible depuis un navigateur standard. Essaie différentes valeurs d'index. Si le tableau apparaît visuellement mais pas dans Google Sheets, le contenu est probablement chargé dynamiquement par JavaScript : cherche une source alternative avec du HTML statique.
Le tableau est vide ou incomplet
Certains sites chargent leurs données dynamiquement avec JavaScript après le rendu initial de la page. IMPORTHTML ne lit que le HTML initial, avant l'exécution des scripts.
Solution : Cherche une source alternative dont le HTML est statique, par exemple la version mobile ou l'API publique du site. Wikipedia est une source fiable car ses tableaux sont en HTML pur.
Erreur #REF! ou données qui ne se mettent plus à jour
Google Sheets impose des limites sur le nombre d'appels externes par feuille. Trop de formules IMPORTHTML sur la même feuille peut déclencher des erreurs de quota.
Solution : Limite le nombre de formules IMPORTHTML par feuille. Crée une feuille dédiée aux imports et référence ces données depuis les autres feuilles avec de simples formules de renvoi. Évite de mettre plus de 10 à 15 formules IMPORTHTML dans le même fichier.
IMPORTHTML vs IMPORTDATA vs IMPORTXML vs IMPORTFEED
Choisis IMPORTHTML quand ta donnée est déjà rangée dans un vrai <table> ou une liste à puces sur une page web : un classement, des stats publiées. Si tu veux juste un élément précis (un prix, un titre) au milieu de la page, IMPORTXML et son ciblage XPath est plus chirurgical.
IMPORTDATA s'adresse à une URL qui pointe directement vers un fichier CSV ou TSV, et IMPORTFEED se réserve aux flux RSS ou Atom pour la veille d'actualités.
| Fonction | Ce qu'elle importe | Format source | Cas d'usage typique |
|---|---|---|---|
| IMPORTHTML | Tableaux et listes HTML | Pages web publiques | Classements, stats publiées sur le web |
| IMPORTDATA | Fichiers CSV ou TSV | Données brutes (URL directe) | Données opendata, exports publics |
| IMPORTXML | Éléments HTML ciblés via XPath | XML ou HTML | Extraction chirurgicale (un prix, un titre) |
| IMPORTFEED | Articles et titres | Flux RSS ou Atom | Veille actualités et blogs |
Questions fréquentes sur la fonction IMPORTHTML
IMPORTHTML fonctionne-t-elle dans Excel ?
Non, IMPORTHTML est exclusive à Google Sheets. Dans Excel, tu peux utiliser Power Query (Données > Obtenir des données > À partir du web) pour importer des tableaux depuis internet. L'ergonomie est différente mais le résultat est similaire.
Comment savoir quel numéro d'index utiliser ?
L'index commence à 1 pour le premier tableau ou la première liste de la page. Essaie 1, puis 2, 3... jusqu'à obtenir le bon tableau. Pour aller plus vite, ouvre la page dans ton navigateur, fais clic droit et "Inspecter" pour compter les balises <table> dans le code HTML.
Les données se mettent-elles à jour automatiquement ?
Oui, IMPORTHTML récupère les données à chaque ouverture du fichier ou recalcul de la feuille. Tu peux forcer le rafraîchissement avec Ctrl+Shift+E. Google Sheets peut aussi limiter la fréquence de mise à jour pour éviter de surcharger les sites sources.
Puis-je importer des données protégées par mot de passe ?
Non, IMPORTHTML ne peut accéder qu'aux pages publiques sans authentification. Pour les sites avec connexion obligatoire, tu dois copier-coller manuellement ou utiliser des outils d'automatisation comme Google Apps Script qui peut simuler une session connectée.
Pourquoi ma formule renvoie une erreur après un certain temps ?
Les sites web changent leur structure régulièrement. Si un tableau est déplacé ou si la page est restructurée, ton index peut pointer vers le mauvais tableau ou vers un tableau qui n'existe plus. Vérifie que le site n'a pas changé et ajuste l'index si nécessaire.
Pour aller plus loin
Les fonctions similaires : IMPORTXML, IMPORTDATA, IMPORTFEED, SERVICEWEB, GOOGLETRANSLATE
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois
