Le IMPORTDATA de Google Sheets est un outil très pratique. Elle permet de récupérer des données stockées dans des fichiers .csv (valeurs séparées par des virgules) ou .tsv (valeurs séparées par des tabulations) depuis un emplacement sur le web.
Syntaxe d'IMPORTDATA
IMPORTDATA(url, [délimiteur], [paramètres_régionaux])
- url – obligatoire. Il s'agit de l'adresse web (localisateur uniforme de ressource) où se trouve le fichier .csv ou .tsv. Elle peut prendre deux formes.
- Un emplacement valide et entièrement qualifié sous forme de texte (entre guillemets). Par exemple : “ http://www.census.gov/2010census/csv/pop_change.csv ”
- Il peut également s'agir d'une référence à une cellule (comme B1) dans Google Sheets, où l'URL est stockée.
- délimiteur – facultatif. Le caractère qui sépare les valeurs, comme un point-virgule ou une barre verticale. Si vous l'omettez, Sheets le déduit de l'extension du fichier : une virgule pour .csv et une tabulation pour .tsv.
- paramètres régionaux – facultatif. Le code de langue et de région utilisé pour lire les données, comme en_US ou de_DE. Il modifie la lecture des dates et des décimales. Si vous l'omettez, Sheets utilise les paramètres régionaux de la feuille de calcul.
IMPORTDATA renvoie le fichier sous forme de tableau qui commence dans la cellule de la formule et remplit les cellules à droite et en dessous, avec une ligne par ligne du fichier.
Il pourrait être utile de noter que Google Sheets prend en charge jusqu'à 50 formules IMPORTDATA sur une seule feuille de calcul.
Comment utiliser IMPORTDATA dans Google Sheets
Cas 1 : saisissez l'URL dans la formule
Dans la capture ci-dessous, nous importons les données dans la cellule B3, où nous saisissons donc la formule IMPORTDATA.
Nous veillons à ce que les url est valide, saisissez correctement la formule (c'est-à-dire placez l'URL entre guillemets doubles) et appuyez sur Entrée. Voici ce qui s'affiche pendant que Google Sheets récupère les données. Plus le fichier est volumineux, plus l'import prend de temps.
Pendant que l'importation des données est en cours, la cellule dans laquelle nous avons saisi la formule semble avoir retourné une erreur (comme indiqué par un petit point rouge dans le coin supérieur droit de la cellule). Mais, ce n'est pas une erreur, juste un état transitoire. Survolez la cellule avec la souris pour voir la description suivante.
Dès que Google Sheets charge les données, la tache rouge disparaît. Vous remarquerez que les données s'étendent de la cellule de formule (B3) vers la droite et également vers le bas.
Il est donc primordial de veiller à ce que la cellule destinée à accueillir le résultat ne contienne aucune valeur préexistante. Sinon, la formule IMPORTDATA risque de renvoyer une erreur #REF! Par exemple, l'image ci-dessous illustre ce qui pourrait se produire si la cellule C9 contenait déjà une valeur.
Cas 2 : faites référence à une cellule qui contient l'URL
Ici, nous avons déjà stocké le url vers le .csv dans la cellule B1. Nous utiliserons donc cette cellule pour faire référence dans la formule IMPORTDATA, et le résultat est le même que dans le premier cas.
Essayez avec un fichier CSV public
Pour tester IMPORTDATA sur un fichier qui fonctionne, saisissez cette adresse dans la cellule A2 d'une feuille vierge : https://raw.githubusercontent.com/datasets/country-list/main/data.csv. Saisissez ensuite =IMPORTDATA(A2) dans la cellule D2. Sheets renvoie deux colonnes, Name et Code, avec une ligne par pays. La capture d'écran utilise une ancienne adresse pour la même liste.
Apprendre dans cet article de blog comment importer facilement un flux RSS dans Google Sheets.
IMPORTDATA ne fonctionne pas dans Google Sheets
Comme vous l'avez vu, la fonction IMPORTDATA est très simple à utiliser. Elle présente toutefois quelques erreurs et limites connues.
Les données ne se mettent pas à jour
Vous pouvez toujours forcer une actualisation en supprimant puis en saisissant à nouveau la formule, mais aucune fonctionnalité native ne permet de personnaliser la fréquence des mises à jour automatiques. Les fonctions qui importent des données externes – IMPORTDATA, IMPORTHTML, IMPORTFEED et IMPORTXML – se mettent à jour automatiquement toutes les heures. Il est impossible de changer cela sans utiliser un script.
Une URL par formule
Malheureusement, il n'est pas possible d'importer depuis plusieurs URL en même temps : il vous faudra donc une formule distincte pour chaque URL. Même s'il est techniquement possible d'utiliser cette fonction jusqu'à 50 fois par feuille de calcul, en pratique la feuille peut devenir lente et ne plus répondre.
Erreur #N/A : le fichier est trop volumineux
Comme le montre la capture d'écran ci-dessous, la taille du fichier importable est limitée. Un message d'erreur indique que le "contenu de la ressource à l'URL a dépassé la taille maximale". La limite exacte n'est pas claire, mais elle est inférieure à celle d'une importation directe du fichier CSV.
Si vous rencontrez ce problème, téléchargez le fichier depuis l'URL et importez-le directement dans Sheets.
Erreur #REF! : pas assez de colonnes
La fonction n'augmente pas automatiquement le nombre de colonnes si nécessaire. Un message d'erreur indique que le "résultat n'a pas été développé automatiquement. Veuillez insérer des colonnes supplémentaires". Vous devez donc vérifier le nombre de colonnes du fichier source pour vous assurer que votre feuille de calcul en contient suffisamment.
Dans la capture d'écran ci-dessus, l'URL pointe vers la page web GitHub du fichier, et non vers le fichier lui-même : Sheets tente donc de découper une page web entière en cellules. Sur GitHub, ouvrez le fichier, cliquez sur Raw et utilisez plutôt cette adresse. Vous obtenez aussi #REF! lorsque des cellules de la plage de résultats contiennent déjà des valeurs. Effacez-les, comme dans le cas 1.
Erreur #N/A : impossible de récupérer l'URL
Ce sont les serveurs de Google qui récupèrent le fichier, pas votre navigateur. Si le fichier se trouve derrière une connexion, sur un réseau d'entreprise ou dans un dossier privé Dropbox ou Google Drive, la récupération échoue. Elle échoue aussi lorsque l'adresse ouvre une page web qui charge les données avec JavaScript. Pour vérifier, ouvrez l'URL dans une fenêtre de navigation privée. Si vous devez vous connecter, ou si vous voyez une page au lieu du fichier, IMPORTDATA ne peut pas le lire non plus.
Toutes les données atterrissent dans une seule colonne
IMPORTDATA découpe chaque ligne selon le délimiteur attendu : une virgule pour les fichiers .csv et une tabulation pour les fichiers .tsv. Pour un fichier qui utilise des points-virgules ou des barres verticales, vous devez définir le délimiteur à la main, comme dans =IMPORTDATA(A2, ";"). Si les dates ou les décimales sont mal lues, ajoutez aussi les paramètres régionaux du fichier, comme dans =IMPORTDATA(A2, ";", "de_DE") pour un fichier allemand qui utilise la virgule comme séparateur décimal.
Autres façons d'importer des données dans Google Sheets
IMPORTDATA ne lit que les fichiers CSV et TSV accessibles via une URL publique. Pour les autres sources, Google Sheets propose d'autres fonctions d'importation :
- IMPORTRANGE récupère une plage de cellules d'un autre fichier Google Sheets.
- IMPORTHTML importe un tableau ou une liste depuis une page web.
- IMPORTXML récupère des données de pages web et de fichiers XML avec une requête XPath.
- IMPORTFEED importe un flux RSS ou Atom.
Pour les fichiers CSV dans Google Drive ou OneDrive, les fichiers Excel ou les données à actualiser selon un calendrier, Sheetgo, une plateforme d'automatisation des données basée sur l'IA, les connecte à votre feuille de calcul et met à jour les données automatiquement. Découvrez comment importer un CSV dans Google Sheets automatiquement, ou comment importer des données CSV dans Excel.



