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 de la fonction IMPORTDATA
=IMPORTDATA(url; [délimiteur]; [locale])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.
Astuce : Pour exporter un Google Sheets en CSV, modifie son URL : remplace /edit#gid=0 par /export?format=csv&gid=0. Assure-toi que le document source est en partage public (lecture seule suffit). C'est idéal pour synchroniser des données entre plusieurs tableurs.
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
Développeur : importer des flux CSV depuis une API
Ton API génère des exports CSV accessibles via endpoint public. Avec IMPORTDATA, tu crées un dashboard de monitoring pour l'équipe sans écrire une ligne de code supplémentaire : la formule importe les données, tu ajoutes des graphiques et des formules d'analyse par-dessus.
L'intérêt principal : quand l'API met à jour son export, ton tableur Google Sheets reflète automatiquement ces changements environ toutes les heures. Toute l'équipe consulte le même tableau de bord sans avoir besoin d'accès direct à l'API.
| A | |
|---|---|
| 1 | Endpoint API |
| 2 | https://api.example.com/v1/users/export.csv |
=IMPORTDATA("https://api.example.com/v1/users/export.csv")Astuce de pro : Combine IMPORTDATA avec QUERY pour filtrer les données à la volée : =QUERY(IMPORTDATA(url); "SELECT * WHERE Col3 > 100"). Tu obtiens une vue personnalisée des données importées sans modifier le fichier source.
Data analyst : exploiter des datasets publics
Tu travailles avec des datasets publics hébergés sur GitHub, des portails open data gouvernementaux, ou des archives académiques. Plutôt que de télécharger manuellement les fichiers à chaque mise à jour, IMPORTDATA synchronise automatiquement la dernière version disponible.
Tes analyses restent toujours à jour sans intervention manuelle. Tu peux partager ton tableur avec des collègues qui bénéficieront des mêmes données fraîches, et construire des visualisations qui évoluent avec les données sources.
| A | |
|---|---|
| 1 | Dataset GitHub |
| 2 | https://raw.githubusercontent.com/datasets/covid-19/main/data.csv |
=IMPORTDATA("https://raw.githubusercontent.com/datasets/covid-19/main/data.csv")Responsable e-commerce : synchroniser un catalogue de prix
Ton système e-commerce génère automatiquement un export CSV de prix, stocks ou promotions chaque nuit sur un serveur web. Avec IMPORTDATA, ton équipe commerciale consulte toujours les prix en vigueur sans passer par une interface métier complexe.
Fini les téléchargements manuels et les versions obsolètes qui traînent par email. Tu peux ajouter des formules conditionnelles sur les données importées pour détecter les anomalies (ruptures de stock, prix aberrants) et déclencher des alertes visuelles par mise en forme conditionnelle.
| A | |
|---|---|
| 1 | Serveur prix |
| 2 | https://shop.company.com/exports/prices_daily.csv |
=IMPORTDATA("https://shop.company.com/exports/prices_daily.csv")Responsable qualité : monitorer des métriques de production
Tes capteurs IoT ou systèmes de monitoring publient des métriques de production dans un fichier CSV hébergé sur un serveur. IMPORTDATA te permet de suivre ces données en quasi temps réel dans un dashboard Google Sheets sans infrastructure complexe.
Combine les données importées avec des formules comme ECARTYPE.P ou MOYENNE pour calculer des indicateurs de qualité, et utilise la mise en forme conditionnelle pour colorer les cellules en rouge quand un seuil est dépassé. Tu obtiens un tableau de bord opérationnel fonctionnel sans écrire de code.
| A | |
|---|---|
| 1 | Endpoint monitoring |
| 2 | https://monitoring.factory.com/metrics/line-a.csv |
=IMPORTDATA("https://monitoring.factory.com/metrics/line-a.csv")Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes 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 sur la fonction IMPORTDATA
IMPORTDATA fonctionne-t-elle dans Excel ?
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.
Quels formats de fichiers sont supportés par IMPORTDATA ?
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.
Les données importées se mettent-elles à jour automatiquement ?
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.
Comment importer des données depuis une URL privée ou protégée ?
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.
Puis-je choisir le délimiteur pour les fichiers CSV personnalisés ?
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
Les fonctions similaires : IMPORTXML, IMPORTHTML, IMPORTRANGE, QUERY, FILTRE
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
