Aller au contenu principal

Qu'est-ce que la fonction IMPORTTEXT ?

Définition
La fonction IMPORTTEXT récupère le contenu d'un fichier texte à partir de son URL et le déverse dans la feuille ligne par ligne : chaque ligne du fichier occupe une cellule, sans être découpée en colonnes. Elle ne prend qu'un seul argument, l'URL du fichier.

Tu t'en sers quand tu dois récupérer un fichier texte brut publié en ligne (un journal, un log, un format libre) sans le télécharger ni le coller à la main dans ta feuille : IMPORTTEXT va le chercher toute seule à chaque recalcul. C'est le bon réflexe dès que tu veux garder chaque ligne intacte, sans qu'Excel ne tente de la découper en colonnes à ta place.

C'est justement ce qui la distingue d'IMPORTCSV : là où IMPORTCSV parse un tableau et sépare les colonnes, IMPORTTEXT ramène le texte brut, tel quel. Elle est donc idéale pour récupérer des journaux (logs), des formats libres ou n'importe quel contenu que tu veux lire ligne par ligne sans transformation. Pour un vrai tableau à colonnes régulières, c'est IMPORTCSV qu'il te faut.

Syntaxe

=IMPORTTEXT(url)

Clique sur un argument pour aller à son explication.

IMPORTTEXT est une fonction Excel (pas Google Sheets), réservée aux versions récentes de Microsoft 365. Excel 2021 et les éditions antérieures renvoient #NOM?. Elle lit uniquement une URL : un chemin de fichier local comme C:\Logs\access.log renvoie #VALEUR!, et tout argument ajouté après l'URL renvoie aussi #VALEUR!.

Ce qu’il faut retenir
IMPORTTEXT n'existe que dans les versions récentes de Microsoft 365 : sur Excel 2021 ou plus ancien, elle renvoie #NOM?. Et elle ne lit qu'une URL, jamais un fichier posé sur ton disque : un chemin comme C:\Logs\access.log renvoie #VALEUR!.
Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction IMPORTTEXT

IMPORTTEXT ne prend qu'un seul argument : l'URL du fichier texte à récupérer. Il n'y a ni délimiteur, ni option d'en-têtes, ni encodage à régler, car la fonction ne découpe rien : elle ramène chaque ligne telle quelle. Tout argument ajouté après l'URL renvoie d'ailleurs #VALEUR!.

Le réflexe à prendre, comme avec les autres fonctions d'import : range l'URL dans une cellule (par exemple A1) et pointe la formule vers cette cellule avec =IMPORTTEXT(A1). Tu changes de fichier en modifiant une seule cellule, sans jamais rouvrir la formule.

1

url

: l'adresse web complète du fichier texte à récupérer, par exemple `https://data.excellersacademy.com/media/videos/fixtures/taux-tva.csv`

Elle doit pointer directement vers le fichier et être accessible publiquement en HTTP(S), sans mot de passe ni cookie de session.

Tu peux écrire l'URL entre guillemets directement dans la formule, ou, ce qui est recommandé, la ranger dans une cellule et passer la référence : =IMPORTTEXT(A1). IMPORTTEXT va alors chercher le fichier de façon asynchrone : la cellule affiche brièvement #BUSY le temps du téléchargement, puis déverse le contenu ligne par ligne, une ligne du fichier par cellule, sans le découper en colonnes.

Attention : IMPORTTEXT n'ouvre qu'une URL, jamais un fichier local ou un partage réseau. Un chemin comme C:\Logs\access.log ou \\serveur\partage\fichier.txt renvoie #VALEUR!. De même, n'ajoute aucun argument après l'URL : la fonction n'accepte ni délimiteur, ni en-têtes, ni encodage, et tout second argument déclenche #VALEUR!.

Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment importer un fichier texte ligne par ligne avec la fonction IMPORTTEXT

Tu récupères un petit fichier de taux de TVA posé en ligne, et tu veux le voir apparaître dans ta feuille sans le télécharger ni le coller à la main. Le fichier tient en six lignes : un en-tête et cinq pays. IMPORTTEXT lit ce fichier directement depuis son adresse web et recopie chaque ligne dans une cellule. Attention, elle ne sépare pas les colonnes : chaque ligne arrive en un seul bloc, virgule comprise.

Les étapes
  1. 1
    Dans une cellule, écris =IMPORTTEXT(.
  2. 2
    En 1er argument : clique sur la cellule où tu as rangé l'adresse du fichier, A1. Google Sheets ira lire cette URL pour récupérer le contenu, et comme la formule pointe vers la cellule plutôt que vers une adresse figée, tu changeras de fichier en modifiant simplement A1.
  3. 3
    Ferme la parenthèse et appuie sur Entrée. La cellule met un court instant à charger le fichier, puis ses six lignes se déversent à partir de A3, une ligne du fichier par cellule et sans découpage en colonnes.
Au final, ta formule devrait ressembler à ça :=IMPORTTEXT(A1)
Explication
La cellule A3 ne contient qu'une formule, =IMPORTTEXT(A1), et pourtant six lignes se déversent en dessous. IMPORTTEXT lit l'URL rangée en A1, récupère le fichier, puis pose chaque ligne dans sa propre cellule : Pays,Taux TVA en A3, France,20 en A4, et ainsi de suite. Remarque bien que la virgule n'est pas traitée comme un séparateur : France et 20 restent collés dans la même cellule. C'est tout le principe de IMPORTTEXT, elle ramène le texte tel quel, ligne par ligne.
Exemple 2

Comment changer de fichier sans toucher à la formule avec la fonction IMPORTTEXT

Tu veux réutiliser la même feuille pour un autre fichier que celui d'hier, sans reconstruire ta formule. Comme l'adresse est rangée dans une cellule à part, il te suffit de remplacer l'URL en A1 : IMPORTTEXT relit la nouvelle adresse et déverse le nouveau contenu. Ici, tu passes des taux de TVA aux ventes par région en modifiant une seule cellule.

Les étapes
  1. 1
    Dans une cellule, écris =IMPORTTEXT(.
  2. 2
    En 1er argument : clique sur la cellule qui contient l'adresse du fichier, A1. La formule ne bouge pas quand tu passes d'un fichier à un autre. Il te suffit de remplacer l'URL rangée dans A1 par celle du fichier des ventes par région.
  3. 3
    Ferme la parenthèse et appuie sur Entrée. Google Sheets relit A1, récupère le nouveau fichier et déverse ses cinq lignes à partir de A3, en remplaçant l'ancien contenu.
Voici la formule que tu obtiens à la fin :=IMPORTTEXT(A1)
Explication
La formule en A3 n'a pas bougé, c'est toujours =IMPORTTEXT(A1). Tu as seulement mis dans A1 l'adresse du fichier des ventes, et ses cinq lignes se déversent en dessous, chacune dans une cellule. Là encore, rien n'est découpé : Nord,152000,140000 tient dans une seule cellule. Comme l'URL vit dans A1 et pas dans la formule, tu pilotes la source depuis cette cellule : changer de fichier, c'est changer le texte d'A1, rien de plus.
Exemple 3

Comment choisir entre IMPORTTEXT (lignes brutes) et IMPORTCSV (colonnes)

Tu hésites entre IMPORTTEXT et IMPORTCSV pour un fichier CSV comme celui des taux de TVA. La règle est simple : IMPORTTEXT ramène chaque ligne telle quelle, sans séparer les colonnes, tandis qu'IMPORTCSV découpe le fichier en colonnes. Sur un fichier bien structuré comme celui-ci, IMPORTCSV te donne directement un tableau exploitable. IMPORTTEXT, elle, sert quand tu veux le texte brut, par exemple pour inspecter un journal ligne par ligne ou récupérer un format qu'IMPORTCSV découperait mal.

Les étapes
  1. 1
    Dans une cellule, écris =IMPORTTEXT(.
  2. 2
    En 1er argument : clique sur la cellule où tu as saisi l'adresse du fichier CSV, A1. C'est le même fichier de taux de TVA que dans le premier exemple, et Google Sheets y lit l'URL pour en récupérer le contenu.
  3. 3
    Ferme la parenthèse et appuie sur Entrée. Les six lignes arrivent telles quelles, avec France,20 dans une seule cellule. Pour obtenir France et 20 dans deux colonnes distinctes, c'est IMPORTCSV qu'il faudrait appeler sur cette même adresse.
Une fois les morceaux assemblés, ta formule donne ça :=IMPORTTEXT(A1)
Explication
Voici le même fichier taux-tva.csv, mais l'enjeu ici est de bien voir ce que IMPORTTEXT fait, et ne fait pas. Elle déverse Pays,Taux TVA, France,20, Allemagne,19 et les autres, chaque ligne dans une seule cellule, virgule incluse. Si tu confiais ce même fichier à IMPORTCSV, tu obtiendrais deux colonnes, Pays d'un côté et Taux TVA de l'autre, avec France et 20 dans des cellules distinctes. IMPORTTEXT ne parse pas : elle te rend le texte brut, à toi de décider si tu le gardes tel quel ou si tu le découpes ensuite.
Le combo gagnant
Tu récupères tes lignes en bloc mais tu veux finalement des colonnes ? Deux voies : confie le même fichier à IMPORTCSV, qui parse directement les colonnes, ou passe une ligne déjà déversée dans FRACTIONNER.TEXTE, par exemple =FRACTIONNER.TEXTE(A4; ","), pour l'éclater sur sa virgule.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction IMPORTTEXT

Presque tout ce qui bloque IMPORTTEXT se joue autour de deux points : la version d'Excel et l'URL. Si la cellule affiche #NOM?, ta version d'Excel ne connaît tout simplement pas la fonction. Si elle affiche #VALEUR!, c'est le plus souvent que tu lui as donné un chemin local au lieu d'une URL, ou un argument de trop.

Les autres cas sont plus doux : un #BUSY passager pendant le téléchargement, une URL injoignable, et un faux problème très fréquent, les colonnes qui ne se séparent pas, qui n'est pas un bug mais le principe même de la fonction.

`#NOM?` : Excel ne reconnaît pas la fonction

IMPORTTEXT n'existe que dans les versions récentes de Microsoft 365. Excel 2021, Excel 2019 et toutes les versions antérieures ne connaissent pas cette fonction et renvoient #NOM?, comme pour n'importe quelle fonction inconnue.

Solution : Vérifie ta version dans Fichier > Compte : il te faut un abonnement Microsoft 365 à jour. Sur une version plus ancienne, récupère le fichier autrement, par exemple avec Power Query (Données > À partir du Web) qui lit une URL sur toutes les éditions de bureau récentes.

`#VALEUR!` : chemin local ou argument en trop

Deux causes classiques. Soit tu as passé un chemin de fichier local ou réseau (C:\Logs\access.log, \\serveur\partage\...) au lieu d'une URL : IMPORTTEXT n'ouvre que des adresses web. Soit tu as ajouté un deuxième argument (un délimiteur, un VRAI/FAUX d'en-têtes, un encodage) : la fonction n'en accepte qu'un seul, l'URL.

Solution : N'utilise qu'une URL http(s) et un seul argument : =IMPORTTEXT("https://...") ou =IMPORTTEXT(A1). Si ton fichier est sur ton disque, publie-le d'abord à une adresse web accessible, ou reste sur IMPORTCSV ou Power Query pour un fichier local.

La cellule reste sur `#BUSY`

IMPORTTEXT récupère l'URL de façon asynchrone. Le temps du téléchargement, la cellule affiche #BUSY : ce n'est pas une erreur, juste l'état d'attente. Sur un gros fichier ou une connexion lente, cet état peut durer quelques secondes.

Solution : Laisse simplement la fonction terminer : le contenu se déverse dès que le fichier est arrivé. Si #BUSY ne se résout jamais, le souci est ailleurs, souvent une URL injoignable : recalcule avec F9 ou vérifie l'adresse dans ton navigateur.

URL injoignable ou fichier absent

L'adresse renvoie une erreur (404 fichier introuvable, 403 accès refusé), le serveur est hors ligne, ou l'URL exige une connexion. IMPORTTEXT ne sait pas s'authentifier : une adresse derrière un login ou un cookie de session lui reste fermée.

Solution : Ouvre l'URL dans ton navigateur : tu dois y voir le texte brut du fichier s'afficher. Si le navigateur te réclame un mot de passe ou renvoie une erreur, l'adresse n'est pas exploitable telle quelle. Utilise une URL publique, sans authentification.

Les colonnes ne se séparent pas (faux problème)

Tu vois France,20 dans une seule cellule et tu crois à un bug de délimiteur. Ce n'en est pas un : IMPORTTEXT ne découpe jamais les lignes en colonnes, c'est son comportement normal. Elle ramène le texte brut, virgules comprises.

Solution : Si tu veux des colonnes, ce n'est pas le bon outil : passe à IMPORTCSV, qui parse le fichier et sépare les colonnes selon le délimiteur. Pour découper juste une ligne déjà récupérée, utilise FRACTIONNER.TEXTE, par exemple =FRACTIONNER.TEXTE(A4; ",").

Lucas, la mascotte du Dojo, compare deux fonctions Excel

IMPORTTEXT vs IMPORTCSV : lignes brutes ou colonnes

Ces deux fonctions récupèrent le contenu d'un fichier, mais elles n'en font pas du tout la même chose. IMPORTTEXT te rend chaque ligne telle quelle, en un seul bloc, sans jamais séparer les colonnes. IMPORTCSV, elle, parse le fichier et le découpe en colonnes selon le délimiteur.

Le choix se résume à ta cible : du texte brut à lire ou inspecter ligne par ligne, ou un vrai tableau exploitable en colonnes.

CritèreIMPORTTEXTIMPORTCSV
Ce que la fonction ramèneChaque ligne du fichier, telle quelleUn tableau découpé en colonnes
Découpage en colonnesAucun, la ligne reste en blocOui, selon le délimiteur
À utiliser pourJournaux, logs, formats libres, texte à lire tel quelVrais tableaux à colonnes régulières
ArgumentsUn seul, l'URL du fichierLa source, puis délimiteur, en-têtes et encodage
FAQ

Questions fréquentes

Non. IMPORTTEXT n'est disponible que dans les versions récentes de Microsoft 365. Sur Excel 2021 et les éditions antérieures, elle renvoie #NOM? car la fonction n'y existe pas. Si tu es sur une ancienne version, l'alternative pour lire un fichier depuis une URL est Power Query (Données > À partir du Web), disponible sur les éditions Excel de bureau récentes.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction IMPORTTEXT : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir