Qu'est-ce que la fonction IMPORTDATA ?
IMPORTDATA importe des données depuis une URL publique au format CSV ou TSV directement dans ton tableur Google Sheets. Contrairement à un simple copier-coller, elle crée une connexion dynamique : les données se rafraîchissent automatiquement environ toutes les heures, sans que tu n'aies à lever le petit doigt.
C'est la fonction qui t'évite de télécharger manuellement des exports à chaque réunion : synchroniser des datasets open data de GitHub, alimenter un tableau de bord avec les exports de ton API, afficher les prix d'un catalogue mis à jour chaque nuit par ton ERP, ou monitorer des métriques de production en quasi temps réel.
Syntaxe
=IMPORTDATA(url; [délimiteur]; [locale])Clique sur un argument pour aller à son explication.
IMPORTDATA est une fonction Google Sheets exclusivement. Dans Excel, l'équivalent est Power Query (Données > À partir du Web) qui supporte en plus l'authentification et les transformations avancées.

Comprendre chaque paramètre de la fonction IMPORTDATA
Seule l'URL est obligatoire : pointe-la directement vers le fichier de données brutes, jamais vers la page web qui le contient. Les deux arguments suivants ne servent qu'à dépanner : tu ne touches au délimiteur que si tes lignes atterrissent toutes dans une seule colonne (souvent un CSV européen en point-virgule), et à la locale que si des nombres comme 1,234.56 sont mal interprétés par ton tableur en français.
url
: l'adresse web complète du fichier CSV ou TSV à importerElle doit pointer directement vers le fichier de données brutes, pas vers une page web qui contient un lien vers ce fichier. L'URL doit être accessible publiquement, sans authentification requise.
Google Sheets télécharge le contenu et l'analyse automatiquement pour détecter le format. La formule insère ensuite les données en commençant dans la cellule où elle est saisie, en occupant autant de lignes et de colonnes que nécessaire.
Attention : Les URL qui redirigent vers un fichier (comme /download?file=data.csv) ou qui nécessitent un cookie de session ou un token dans le header ne fonctionnent pas. L'URL doit pointer directement vers les octets du fichier.
délimiteur
: le caractère qui sépare les valeurs dans ton fichier(facultatif)Par défaut, Google Sheets détecte automatiquement la virgule (CSV) ou la tabulation (TSV). Tu peux spécifier un délimiteur personnalisé si ton fichier utilise un autre caractère comme le point-virgule, le pipe ou l'espace.
Quelques exemples : ";" pour les CSV européens avec point-virgule, "|" pour les fichiers délimités par pipe, " " pour les valeurs séparées par espace. Si tes données apparaissent dans une seule colonne au lieu d'être séparées, c'est presque toujours un problème de délimiteur.
locale
: le paramètre régional contrôle comment les nombres et les dates sont interprétés(facultatif)Par défaut, Google Sheets utilise les paramètres de ton tableur. Spécifie une locale ("en_US" ou "fr_FR") si les données sources utilisent un format différent de tes paramètres régionaux.
Par exemple, si tes données viennent d'un système américain qui écrit 1,234.56 mais que ton tableur est en français (format 1 234,56), utilise "en_US" pour que les nombres soient correctement interprétés.

Exemples pratiques pas à pas
Comment importer un fichier CSV entier avec la fonction IMPORTDATA
Chaque semaine, l'équipe régionale publie ses ventes dans un fichier CSV posé sur un serveur, et tu dois le retrouver dans ton tableau de bord Google Sheets sans le télécharger ni le coller à la main. Le fichier tient en cinq lignes, un en-tête et quatre régions, mais demain il en comptera peut-être douze. La fonction IMPORTDATA lit ce fichier directement depuis son adresse web et le recopie dans ta feuille en une seule formule, tout en gardant le lien avec la source.
- 1Dans une cellule, écris
=IMPORTDATA(. - 2En 1er argument : clique sur la cellule qui contient l'adresse du fichier CSV,
A1. Elle affiche l'URL complètehttps://data.excellersacademy.com/media/videos/fixtures/ventes-regions.csv, et pointer la cellule plutôt que de recopier l'adresse dans la formule te laissera changer de source plus tard sans rouvrir la fonction. - 3Ferme la parenthèse et appuie sur Entrée. Google Sheets télécharge le fichier, reconnaît son format CSV et déverse tout le tableau à partir de la cellule de la formule : l'en-tête
Region,Ventes,Objectif, puis les quatre régions en dessous. Le lien avec le fichier reste actif, si bien que la feuille rapatrie la dernière version à chaque rafraîchissement.
=IMPORTDATA(A1)A3 ne contient qu'une formule, =IMPORTDATA(A1), et pourtant tout le fichier s'y déverse d'un coup : la fonction va lire l'URL rangée en A1, télécharge le CSV, puis pose son en-tête Region, Ventes, Objectif et les quatre régions juste en dessous. Tu n'as rempli qu'une seule cellule pour récupérer le tableau complet, et il reste branché sur le fichier : si les ventes changent à la source, ta feuille se met à jour toute seule au prochain rafraîchissement.Comment changer de source sans toucher à la formule avec la fonction IMPORTDATA
Le mois dernier, ta feuille affichait les ventes par région. Ce mois-ci, tu as besoin d'y voir les taux de TVA par pays, mais tu ne veux surtout pas reconstruire ta formule ni casser la mise en page qui l'entoure. Comme l'adresse du fichier vit dans une cellule à part, tu changes de source en modifiant une seule cellule. La fonction IMPORTDATA relit la nouvelle URL et remplace tout le tableau.
- 1Dans une cellule, écris
=IMPORTDATA(. - 2En 1er argument : clique sur la cellule qui contient l'adresse du fichier,
A1. Par rapport au mois dernier, la formule ne bouge pas d'un caractère et tu as seulement remplacé le contenu d'A1par la nouvelle adressehttps://data.excellersacademy.com/media/videos/fixtures/taux-tva.csv. Comme elle pointe une cellule et non une adresse écrite en dur, piloter la source revient à réécrire ce seul texte. - 3Ferme la parenthèse et appuie sur Entrée. Google Sheets relit
A1, télécharge cette fois le fichier des taux de TVA et remplace l'ancien tableau par le nouveau : l'en-têtePays,Taux TVA, puis la France, l'Allemagne, l'Espagne, l'Italie et la Belgique.
=IMPORTDATA(A1)A3 n'a pas bougé d'un caractère : c'est toujours =IMPORTDATA(A1). Tu as seulement remplacé l'URL en A1 par celle du fichier des taux de TVA, et tout le tableau a suivi : Pays, Taux TVA, puis les cinq pays. C'est tout l'intérêt de garder l'adresse dans une cellule plutôt que dans la formule : tu pilotes la source depuis A1, sans jamais rouvrir la fonction.Comment récupérer des dates et des nombres directement calculables avec la fonction IMPORTDATA
Tu suis le cours de l'euro face au dollar dans un fichier mis à jour chaque jour, et tu veux calculer directement une moyenne ou une variation dans ta feuille. Le piège habituel d'un import, c'est que tout arrive en texte : les nombres refusent de s'additionner et les dates ne se trient plus. Avec IMPORTDATA, les valeurs gardent leur vraie nature, et tu peux calculer dessus dès la première seconde.
- 1Dans une cellule, écris
=IMPORTDATA(. - 2En 1er argument : clique sur la cellule qui contient l'adresse du fichier,
A1. Elle porte l'URLhttps://data.excellersacademy.com/media/videos/fixtures/cours-eur-usd.csv, dont chaque ligne aligne une date et un cours séparés par une virgule. - 3Ferme la parenthèse et appuie sur Entrée. Les trois dates se rangent dans la colonne
Aet les trois cours dans la colonneB, sans rester bloqués en texte :2026-07-17devient une vraie date et1.0842un vrai nombre décimal, affiché1,0842dans un tableur réglé en français. Leur alignement à droite le confirme, et un calcul comme=MOYENNE(B4:B6)ou=A5-A4tombe juste dès la première seconde.
=IMPORTDATA(A1)2026-07-17, elle reconnaît une date (alignée à droite, utilisable dans un calcul de durée), et en important 1.0842, elle reconnaît un nombre décimal, affiché 1,0842 dans un tableur réglé en français. Rien ne reste bloqué en texte : tu peux enchaîner une moyenne des trois cours ou un écart entre deux dates sans la moindre conversion.Comment lever l'erreur #REF! d'autorisation avec la fonction IMPORTDATA
Tu écris ta toute première formule IMPORTDATA, l'adresse est bonne, et pourtant la cellule affiche #REF!. Avant de soupçonner une erreur de saisie, sache que c'est le passage obligé de toutes les fonctions d'import de Google Sheets : la feuille te demande d'abord la permission d'aller chercher des données à l'extérieur. Une fois l'accès accordé, la même formule fonctionne sans broncher.
- 1Dans une cellule, écris
=IMPORTDATA(. - 2En 1er argument : clique sur la cellule qui contient l'adresse du fichier,
A1. Elle porte la même URL qu'au premier exemple,https://data.excellersacademy.com/media/videos/fixtures/ventes-regions.csv, et cette adresse est parfaitement valide. - 3Ferme la parenthèse et appuie sur Entrée. La cellule affiche pourtant
#REF!, et un bandeau s'ouvre en haut de la feuille, « Certaines formules tentent d'envoyer et de recevoir des données de tiers externes » : c'est une demande d'autorisation, pas une formule cassée. Clique sur « Autoriser l'accès » dans ce bandeau et le tableau des ventes se déverse aussitôt à partir de la cellule de la formule. Cette permission ne te sera plus redemandée pour cette feuille.
=IMPORTDATA(A1)#REF! n'a rien d'une faute de formule : au tout premier appel d'une fonction d'import, Google affiche un bandeau « Certaines formules tentent d'envoyer et de recevoir des données de tiers externes » avec un bouton « Autoriser l'accès », et tant que tu ne cliques pas, la cellule reste bloquée sur #REF!. Un clic, et le fichier se déverse enfin : Region, Ventes, Objectif et les quatre régions. Cette autorisation ne se donne qu'une fois par feuille.
Les erreurs fréquentes avec la fonction IMPORTDATA
Tout ce qui bloque IMPORTDATA tourne autour de l'accès à l'URL et du format du fichier. Si tu vois « Impossible d'importer les données », c'est presque toujours que l'adresse mène à une page web (et non aux octets bruts du CSV) ou qu'elle réclame une authentification, que la fonction ne sait pas fournir.
Les deux autres pièges sont plus discrets : un fichier en JSON ou XML qu'IMPORTDATA refuse de parser, et un CSV européen en point-virgule qui se retrouve tassé dans une seule colonne faute de bon délimiteur.
"Impossible d'importer les données à l'URL demandée"
Cette erreur survient dans plusieurs cas : l'URL n'est pas accessible publiquement, elle nécessite une authentification, le format n'est ni CSV ni TSV, l'URL pointe vers une page HTML qui contient un lien vers le fichier (et non le fichier lui-même), ou le serveur bloque les requêtes provenant de Google.
Solution : Vérifie d'abord que l'URL pointe directement vers le fichier de données brutes (ouvre-la dans ton navigateur : tu dois voir du texte brut avec des virgules ou des tabulations, pas une page web). Assure-toi que le fichier est accessible sans connexion ni cookie de session.
L'URL nécessite une authentification
IMPORTDATA ne peut pas transmettre de credentials : pas de mot de passe, pas de token OAuth dans les headers, pas de cookie de session. Les URL derrière un login ou une clé d'API en header sont inaccessibles.
Solution : Configure ton serveur pour générer une URL publique temporaire avec un token de sécurité dans l'URL elle-même (ex: ?token=abc123). Sinon, utilise Apps Script avec UrlFetchApp qui supporte l'authentification avancée. Dans Excel, Power Query gère nativement les flux authentifiés.
Format JSON ou XML non supporté
IMPORTDATA n'accepte que CSV et TSV. Si ton API retourne du JSON ou du XML, la fonction renvoie une erreur car elle ne sait pas comment parser ces formats.
Solution : Pour XML : utilise IMPORTXML avec des requêtes XPath. Pour JSON : crée une fonction Apps Script pour parser les données ou configure ton API pour générer aussi un export CSV. Un service comme Zapier peut aussi convertir JSON en CSV automatiquement.
Données dans une seule colonne au lieu d'être réparties
Google Sheets n'a pas correctement détecté le délimiteur. Ce problème apparaît souvent avec les CSV européens qui utilisent le point-virgule comme séparateur au lieu de la virgule, ou avec des fichiers qui utilisent un délimiteur non standard.
Solution : Spécifie le délimiteur explicitement en deuxième argument : =IMPORTDATA(url; ";") pour un CSV avec point-virgule. Vérifie aussi que ton fichier source est encodé en UTF-8 pour éviter les problèmes d'accents dans les données.
Les données ne se rafraîchissent pas
Google Sheets met à jour IMPORTDATA environ toutes les heures, mais certains facteurs peuvent bloquer le rafraîchissement : le serveur envoie des headers de cache (Cache-Control, Expires), le contenu du fichier n'a pas changé (Google optimise les requêtes), ou les modifications sont très récentes.
Solution : Pour forcer un rafraîchissement immédiat : édite légèrement la formule (ajoute un espace dans l'URL puis supprime-le) et appuie sur Entrée. Tu peux aussi utiliser le menu Données > Calculer maintenant dans Google Sheets.

IMPORTDATA vs IMPORTXML vs IMPORTHTML vs IMPORTRANGE
Le bon choix dépend de ce que tu vises au bout de l'URL. Prends IMPORTDATA quand le serveur te sert déjà un fichier CSV ou TSV propre (exports d'API, datasets open data) ; bascule sur IMPORTHTML pour aspirer un tableau ou une liste directement dans une page web, et sur IMPORTXML quand il faut piocher des éléments précis via XPath (scraping fin, flux RSS).
IMPORTRANGE joue dans une autre cour : il ne lit pas une URL publique mais une plage d'un autre Google Sheets, avec une autorisation à valider une fois entre les deux documents.
| Critère | IMPORTDATA | IMPORTXML | IMPORTHTML | IMPORTRANGE |
|---|---|---|---|---|
| Source de données | URL publique | URL publique | URL publique | Autre Google Sheets |
| Format supporté | CSV, TSV | XML, HTML (XPath) | Tableaux HTML, listes | Plage de cellules |
| Authentification | Aucune | Aucune | Aucune | Autorisation manuelle requise |
| Cas d'usage typique | Exports API, datasets open data | Web scraping, flux RSS | Extraction de tableaux depuis pages web | Consolidation entre tableurs Google |
Questions fréquentes
Non, IMPORTDATA est exclusive à Google Sheets. Dans Excel, l'équivalent est Power Query, accessible via l'onglet Données > À partir du web. Power Query est même plus puissant : il supporte l'authentification (tokens OAuth, Basic Auth), des transformations avant chargement (filtrage, conversion de types, fusion de sources), et une programmation via le langage M.
IMPORTDATA accepte uniquement les fichiers CSV (valeurs séparées par virgules) et TSV (valeurs séparées par tabulations). Pour JSON ou XML, utilise Apps Script ou d'autres fonctions Google Sheets comme IMPORTXML avec des requêtes XPath. Si ton API génère du JSON, la solution la plus simple est souvent de lui demander un endpoint CSV en parallèle, ou d'utiliser un service intermédiaire pour la conversion.
Oui, Google Sheets rafraîchit les données importées régulièrement, environ toutes les heures. Pour forcer une mise à jour immédiate, édite la formule (modifie un caractère dans l'URL puis restaure-le) et valide avec Entrée. Note que Google optimise les requêtes : si le contenu du fichier source n'a pas changé, le rafraîchissement peut être retardé. Les serveurs qui envoient des headers de cache peuvent aussi ralentir la mise à jour.
IMPORTDATA ne peut pas accéder aux URL protégées par authentification dans les headers. Pour importer des données privées, tu peux utiliser Apps Script avec UrlFetchApp et des tokens d'API, ou configurer ton serveur pour générer une URL publique temporaire avec un token dans l'URL elle-même.
Dans Excel, Power Query supporte nativement l'authentification OAuth 2.0, Basic Auth et les tokens d'API, ce qui le rend plus adapté aux sources de données privées.
Oui, utilise le deuxième paramètre optionnel. Par exemple, =IMPORTDATA(url; ";") pour un CSV avec point-virgule (format courant en Europe), =IMPORTDATA(url; "|") pour un fichier délimité par pipe.
Le délimiteur par défaut est la virgule pour les CSV et la tabulation pour les TSV. Si tes données apparaissent dans une seule colonne, c'est presque toujours un problème de délimiteur non spécifié.
Pour aller plus loin
Continue sur ta lancée après la fonction IMPORTDATA : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir




