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 chemin local ou de son URL et le déverse dans la feuille, découpé selon le délimiteur choisi (la tabulation par défaut). Seul le chemin est obligatoire ; les autres arguments règlent le délimiteur, les lignes à ignorer ou à garder, l'encodage et le format régional.

Tu t'en sers quand tu dois récupérer un fichier texte (un journal, un log, un export séparé par des tabulations ou des points-virgules) sans l'ouvrir ni le coller à la main dans ta feuille : IMPORTTEXT va le chercher à son chemin local ou à son URL. C'est la fonction d'import que tu règles toi-même, puisque tu choisis le délimiteur et l'encodage du fichier.

C'est justement ce qui la distingue d'IMPORTCSV : là où IMPORTCSV attend des virgules et de l'UTF-8, IMPORTTEXT découpe sur la tabulation par défaut et accepte le délimiteur que tu lui donnes. Un fichier sans tabulation arrive donc ligne par ligne, chaque ligne intacte dans sa cellule, ce qui est pratique pour lire un journal tel quel.

Syntaxe

IMPORTTEXT est une fonction Excel (pas Google Sheets), disponible dans Microsoft 365 sur le canal Insiders Beta, version 2502 (build 18604.20002) ou ultérieure, dans Excel pour Windows. Ailleurs, elle renvoie #NOM?. Elle accepte un chemin local comme C:\Logs\access.log ou une URL, et ne se met pas à jour toute seule : Données > Actualiser tout relit le fichier.

Ce qu’il faut retenir
IMPORTTEXT est encore réservée au canal Insiders Beta de Microsoft 365, à partir de la version 2502 (build 18604.20002), dans Excel pour Windows. Partout ailleurs, elle renvoie #NOM?. Elle lit un chemin local comme C:\Logs\access.log aussi bien qu'une URL, et ne se met pas à jour toute seule : passe par Données > Actualiser tout.
Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction IMPORTTEXT

IMPORTTEXT n'exige qu'un argument, le chemin du fichier texte à récupérer. Sans rien d'autre, elle découpe chaque ligne sur la tabulation et lit le fichier en UTF-8, avec le format régional de ton système.

Le réflexe à prendre, comme avec les autres fonctions d'import : range le chemin 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

chemin

: le chemin de fichier local ou l'URL du fichier texte à récupérer, par exemple `C:\Logs\access.log` ou `https://data.excellersacademy.com/media/videos/fixtures/taux-tva.csv`

Une URL doit pointer directement vers le fichier.

Tu peux écrire le chemin entre guillemets directement dans la formule, ou, ce qui est recommandé, le 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 chargement, puis déverse le contenu.

Attention : Un fichier web peut te demander une authentification avant de livrer son contenu. Tant qu'elle n'est pas faite, rien ne se déverse.

2

délimiteur

: le caractère qui sépare les valeurs sur une ligne(facultatif)

Par défaut, c'est la tabulation. Donne "," pour un fichier à virgules ou ";" pour un export à points-virgules : =IMPORTTEXT(A1; ";").

3

lignes_à_ignorer

: le nombre de lignes à sauter avant de commencer l'import, par exemple `1` pour écarter une ligne d'en-tête(facultatif)

Une valeur négative ignore des lignes en partant de la fin du fichier.

4

lignes_à_prendre

: le nombre de lignes à renvoyer(facultatif)

Une valeur négative prend les lignes de la fin, ce qui sert à ne lire que les dernières entrées d'un journal qui s'allonge.

5

encodage

: l'encodage du fichier(facultatif)

Sans cet argument, IMPORTTEXT lit le fichier en UTF-8.

6

paramètres_régionaux

: le format régional à appliquer pour lire les dates et les nombres du fichier(facultatif)

Sans cet argument, Excel prend celui de ton système.

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

Comment utiliser IMPORTTEXT

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. Comme tu ne lui donnes pas de délimiteur, elle cherche des tabulations, n'en trouve pas, et 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. Excel 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, sans découpage puisque le fichier ne contient aucune tabulation.
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, parce que sans délimiteur précisé IMPORTTEXT découpe sur la tabulation, absente de ce fichier. France et 20 restent donc collés dans la même cellule.
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. Excel 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é, faute de tabulation : 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 : IMPORTCSV attend des virgules et de l'UTF-8 et découpe directement le fichier en colonnes, tandis qu'IMPORTTEXT découpe sur la tabulation par défaut et te laisse choisir un autre délimiteur ou un autre encodage. Sur un fichier à virgules bien structuré, IMPORTCSV te donne directement un tableau exploitable. IMPORTTEXT sert quand tu veux le texte brut ligne par ligne, ou un fichier au séparateur ou à l'encodage particulier.

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 Excel 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, appelle IMPORTCSV sur cette même adresse, ou écris =IMPORTTEXT(A1; ",").
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 avec ses réglages par défaut. Elle déverse Pays,Taux TVA, France,20, Allemagne,19 et les autres, chaque ligne dans une seule cellule, virgule incluse, parce qu'elle attend des tabulations. 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. Tu obtiendrais la même séparation en donnant la virgule comme délimiteur à IMPORTTEXT.
Le combo gagnant
Tu récupères tes lignes en bloc mais tu veux finalement des colonnes ? Trois voies : donne la virgule comme délimiteur, =IMPORTTEXT(A1; ","), confie le même fichier à IMPORTCSV, 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 trois points : la version d'Excel, l'adresse du fichier et le délimiteur. Si la cellule affiche #NOM?, ton Excel ne propose pas encore la fonction, réservée au canal Insiders Beta.

Les autres cas sont plus doux : un #BUSY passager pendant le chargement, une adresse injoignable, des données qui ne suivent pas le fichier tant que tu n'as pas actualisé, et les colonnes qui ne se séparent pas parce que le délimiteur par défaut est la tabulation.

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

IMPORTTEXT n'existe pour l'instant que dans Microsoft 365, canal Insiders Beta, version 2502 (build 18604.20002) ou ultérieure, dans Excel pour Windows. Sur toute autre version, y compris un Excel 365 à jour hors Insiders, Excel renvoie #NOM?, comme pour n'importe quelle fonction inconnue.

Solution : Rejoins le canal Insiders Beta sur Excel pour Windows si tu veux utiliser la fonction dès maintenant. Sinon, récupère le fichier avec Power Query (Données > À partir d'un fichier texte/CSV, ou À partir du Web), disponible sur les éditions de bureau récentes.

Les données ne suivent pas les changements du fichier

Les fonctions d'importation ne se mettent pas à jour toutes seules. Si le fichier a reçu de nouvelles lignes depuis le dernier import, ta feuille affiche toujours l'ancienne version.

Solution : Passe par Données > Actualiser tout pour relire le fichier. La plage déversée s'ajuste alors au nouveau nombre de lignes.

La cellule reste sur `#BUSY`

IMPORTTEXT récupère le fichier de façon asynchrone. Le temps du 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 adresse injoignable : vérifie le chemin ou ouvre l'URL dans ton navigateur.

Adresse injoignable ou fichier absent

Le chemin ne mène pas au fichier : fichier déplacé ou renommé sur ton disque, erreur 404 ou 403 sur une URL, serveur hors ligne, ou fichier web qui demande une authentification.

Solution : Pour un fichier local, vérifie le chemin complet dans l'explorateur. Pour une URL, ouvre-la 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, règle d'abord cet accès.

Les colonnes ne se séparent pas

Tu vois France,20 dans une seule cellule. Sans délimiteur précisé, IMPORTTEXT découpe sur la tabulation : un fichier séparé par des virgules ou des points-virgules arrive donc ligne par ligne, sans colonnes.

Solution : Donne le bon délimiteur en deuxième argument, par exemple =IMPORTTEXT(A1; ","), ou passe à IMPORTCSV pour un fichier à virgules. 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, local ou en ligne, mais elles ne le lisent pas de la même façon. IMPORTCSV attend des virgules et de l'UTF-8 et découpe le fichier en colonnes sans rien te demander. IMPORTTEXT découpe sur la tabulation par défaut et te laisse choisir le délimiteur et l'encodage.

Le choix se résume à ton fichier : un CSV classique à virgules, ou un texte au séparateur ou à l'encodage particulier, voire un journal à lire tel quel ligne par ligne.

CritèreIMPORTTEXTIMPORTCSV
Ce que la fonction ramèneLes lignes du fichier, découpées selon le délimiteur choisiUn tableau découpé en colonnes
DélimiteurTabulation par défaut, au choix sinonVirgule, non modifiable
À utiliser pourJournaux, logs, exports à tabulations ou points-virgulesVrais CSV à virgules et colonnes régulières
ArgumentsLe chemin, puis délimiteur, lignes à ignorer, lignes à prendre, encodage et paramètres régionauxLe chemin, puis lignes à ignorer, lignes à prendre et paramètres régionaux

Tu as peut-être encore une question

IMPORTTEXT ne fonctionne pas dans toutes les versions d'Excel, puisqu'elle est réservée pour l'instant à Microsoft 365 sur le canal Insiders Beta, à partir de la version 2502 (build 18604.20002), dans Excel pour Windows. Partout ailleurs, elle renvoie #NOM?. Même un Excel 365 à jour, hors Insiders, ne la connaît pas encore. Pour lire un fichier texte sur une autre version, passe par Power Query (Données > À partir d'un fichier texte/CSV).

Pour aller plus loin

Tout ce dont tu as besoin pour maîtriser la fonction IMPORTTEXT se trouve ici.

Besoin d’aide sur Excel ?

Rejoins le Dojo pour poser tes questions, obtenir de l’aide sur tes fichiers Excel et participer chaque mois à un cours collectif en direct.

Gratuit · Sans carte bancaire