Aller au contenu principal

Qu'est-ce que la fonction IMPORTRANGE ?

Définition
La fonction IMPORTRANGE importe une plage de cellules depuis un fichier Google Sheets externe vers la feuille active, avec une mise à jour automatique à chaque modification du fichier source.

IMPORTRANGE te sert dès que tu dois t'appuyer sur les chiffres d'un autre fichier Google Sheets sans les recopier à la main à chaque mise à jour, au risque que ton tableau soit déjà faux le lendemain. C'est la base de tout système de consolidation multi-fichiers dans Google Sheets, celle qui relie plusieurs équipes sans qu'aucune ne change ses habitudes.

Concrètement, elle sert à centraliser les budgets de plusieurs départements dans un fichier maître, à créer un tableau de bord projet qui agrège les suivis de toutes les équipes, à synchroniser un catalogue fournisseur sans demander d'export, ou à construire un dashboard KPI qui se met à jour tout seul dès que les équipes modifient leurs fichiers sources.

Syntaxe

Clique sur un argument pour aller à son explication.

IMPORTRANGE est exclusive à Google Sheets. Elle ne fonctionne pas dans Excel. À la première utilisation entre deux fichiers, une autorisation d'accès est requise.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction IMPORTRANGE

Là où INDIRECT bricole des références dans ton propre fichier, IMPORTRANGE va taper dans un classeur séparé, et ça change ses deux arguments : d'abord tu pointes la source avec url_feuille_calcul (l'URL complète ou juste l'ID entre /d/ et /edit), ensuite tu dis quoi en tirer avec plage_chaîne, en texte entre guillemets façon "NomFeuille!A1:D10". Les deux sont obligatoires, mais c'est le nom d'onglet qui te trahit : sensible à la casse et au moindre espace, alors que l'URL, elle, pardonne. Astuce : range l'URL dans une cellule comme A1 et référence-la, tu n'auras qu'un endroit à corriger le jour où la source bouge.

1

url_feuille_calcul

: l'URL complète du fichier Google Sheets source dont tu veux importer les données

Tu peux utiliser l'URL complète copiée depuis la barre d'adresse (https://docs.google.com/spreadsheets/d/1abc123xyz...) ou uniquement l'ID du fichier (la chaîne entre /d/ et /edit dans l'URL).

Pour faciliter la maintenance, place cette URL dans une cellule dédiée (par exemple A1) et référence-la : =IMPORTRANGE(A1; "Feuille!A:D"). Si la source change un jour, tu n'as qu'une cellule à modifier.

2

plage_chaîne

: la plage de cellules à importer, écrite sous forme de texte au format `"NomFeuille!A1:D10"`

Le nom de la feuille doit correspondre exactement à celui du fichier source (sensible à la casse). Tu peux importer des colonnes entières ("Feuille1!A:D"), des lignes entières ("Feuille1!1:10") ou une plage précise.

Pour importer uniquement deux colonnes non adjacentes, utilise la notation "Feuille1!A:A,C:C". Plus tu limites la plage, plus les performances sont bonnes.

Attention : Le nom de la feuille est sensible à la casse et aux espaces. "Feuille 1!A:D" et "feuille1!A:D" pointent vers des feuilles différentes. Un nom incorrect provoque une erreur #REF!.

Le savais-tu ?
IMPORTRANGE est la seule fonction d'import qui réclame une autorisation : la première fois que tu relies deux fichiers, la cellule affiche #REF! jusqu'à ce que tu cliques sur « Autoriser l'accès ». Tu ne le fais qu'une fois par paire de fichiers, l'accès reste ensuite permanent.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment importer une plage depuis un autre fichier Google Sheets avec la fonction IMPORTRANGE

Chaque mois, tu rebâtis le tableau de bord des ventes régionales pour la direction en ouvrant le fichier de l'équipe commerciale et en recopiant ses chiffres chez toi, et à la moindre correction de leur côté ton tableau est déjà faux. Leur suivi vit dans un fichier Google Sheets séparé, une région par ligne, avec ses ventes et son objectif. Le tableau ci-contre est leur fichier, pas le tien, et tu veux ces lignes chez toi sans jamais y retoucher. La fonction IMPORTRANGE tire directement la plage du fichier voisin et la garde à jour toute seule.

Les étapes
  1. 1
    Dans une cellule, écris =IMPORTRANGE(.
  2. 2
    En 1er argument : écris entre guillemets l'adresse du fichier de l'équipe commerciale, copiée telle quelle depuis la barre d'adresse, "https://docs.google.com/spreadsheets/d/1aBcD3fGhIjK/edit". L'identifiant seul, la chaîne coincée entre /d/ et /edit, ferait tout aussi bien l'affaire et raccourcirait la formule.
  3. 3
    En 2ᵉ argument : écris entre guillemets la plage à rapatrier, "A1:C16". Comme le fichier source n'a qu'un seul onglet, tu n'as pas à préciser son nom ; s'il en comptait plusieurs, tu écrirais "NomOnglet!A1:C16", au caractère près, majuscules et espaces compris, sous peine de #REF!.
  4. 4
    Ferme la parenthèse et appuie sur Entrée, puis, la première fois que tu relies ces deux fichiers, clique sur « Autoriser l'accès » pour débloquer l'import. Tu ne le fais qu'une seule fois entre eux.
Au final, ta formule devrait ressembler à ça :=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1aBcD3fGhIjK/edit"; "A1:C16")
Explication
La fonction ouvre le fichier voisin, y lit la plage demandée et déverse ses seize lignes et ses trois colonnes d'un bloc dans ton fichier, à partir de la cellule où tu as validé. La toute première fois, cette cellule affiche #REF! jusqu'à ce que tu cliques sur « Autoriser l'accès », et tu ne le fais qu'une seule fois entre ces deux fichiers.
Exemple 2

Comment filtrer les données à la source en combinant les fonctions IMPORTRANGE et QUERY

Chaque mois, la direction ne veut pas les quinze régions en vrac mais les grosses ventes en tête de liste, celles qui pèsent au moins 40 000, classées de la plus forte à la plus faible. Tu pourrais importer tout le tableau puis trier et masquer les petites lignes à la main dans ton fichier, sauf qu'il se remplirait de régions que tu ne montres jamais et qu'il faudrait tout retrier au prochain import. En enveloppant la fonction IMPORTRANGE dans QUERY, tu poses le filtre et le tri dans la formule elle-même : seules les régions qui comptent se déversent chez toi, déjà classées.

Les étapes
  1. 1
    Dans une cellule, écris =QUERY(.
  2. 2
    En 1er argument : écris l'import à filtrer et referme-le, IMPORTRANGE("https://docs.google.com/spreadsheets/d/1aBcD3fGhIjK/edit"; "A1:C16"). C'est la même source qu'à l'exemple précédent, et la fonction IMPORTRANGE en ramène les seize lignes brutes, exactement comme si elles étaient déjà posées sur ta feuille.
  3. 3
    En 2ᵉ argument : saisis entre guillemets la requête qui trie et filtre, "select Col1, Col2 where Col2 >= 40000 order by Col2 desc". Elle ne garde que les colonnes Région et Ventes, écarte les régions sous les 40 000 et classe les autres de la plus forte à la plus faible. Comme les données arrivent d'un import, tu désignes les colonnes par Col1 et Col2, jamais par leurs lettres.
  4. 4
    En 3ᵉ argument : saisis 1 pour annoncer que la plage importée commence par une ligne de titre. QUERY la met alors de côté au lieu de la mêler aux chiffres, puis la réutilise pour coiffer ton résultat des libellés Région et Ventes.
  5. 5
    Ferme la parenthèse et appuie sur Entrée. Seules les régions qui comptent se déversent alors chez toi, déjà triées, sans passer par une seule ligne intermédiaire.
Voici la formule que tu obtiens à la fin :=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1aBcD3fGhIjK/edit"; "A1:C16"); "select Col1, Col2 where Col2 >= 40000 order by Col2 desc"; 1)
Explication
La fonction IMPORTRANGE ramène les seize lignes du fichier régional, et QUERY les trie et les filtre avant même qu'elles n'atteignent ta feuille : elle ne garde que les colonnes Région et Ventes, écarte les régions sous les 40 000 et range les survivantes de la plus forte à la plus faible. Comme les colonnes arrivent d'un import, tu les désignes par Col1 et Col2 et non par leurs lettres, et le 1 final prévient QUERY que la première ligne de la plage est un en-tête.
Exemple 3

Comment consolider plusieurs fichiers en combinant les fonctions IMPORTRANGE et VSTACK

La direction commerciale veut une vue unique qui pose les ventes des régions françaises et celles des marchés export l'une sous l'autre, alors que chaque périmètre vit dans son propre fichier Google Sheets. Les deux ont la même structure à trois colonnes, une zone par ligne avec ses ventes et son objectif, mais tu ne veux ni les fusionner à la main ni te retrouver avec deux en-têtes empilés au milieu du tableau. Une fonction IMPORTRANGE par fichier, rangées dans VSTACK sous un en-tête que tu crées toi-même, et les deux sources n'en forment plus qu'une chez toi, à jour toute seule.

Les étapes
  1. 1
    Dans une cellule, écris =VSTACK(.
  2. 2
    En 1er argument : écris l'en-tête que tu fabriques toi-même, {"Zone"\"Ventes"\"Objectif"}. Les accolades montent un petit tableau directement dans la formule, et le \ y sépare les colonnes en locale française, là où le ; séparerait des lignes. Posé en premier, cet en-tête coiffe tout le résultat.
  3. 3
    En 2ᵉ argument : écris le premier import et referme-le, IMPORTRANGE("https://docs.google.com/spreadsheets/d/1aBcD3fGhIjK/edit"; "A2:C16"). La fonction va chercher les quinze lignes du fichier des régions françaises, celui des exemples précédents, et tu démarres volontairement en ligne 2 pour laisser son en-tête derrière toi au lieu de le réimporter par-dessus le tien.
  4. 4
    En 3ᵉ argument : écris le second import et referme-le, IMPORTRANGE("https://docs.google.com/spreadsheets/d/1zYxW9vUt/edit"; "A2:C11"). Même logique que le précédent, seule l'URL change et vise cette fois le fichier des marchés export, avec une plage qui démarre elle aussi en ligne 2 pour écarter son en-tête. Les deux fichiers doivent rendre le même nombre de colonnes, ici trois, sinon VSTACK comble les trous avec des #N/A.
  5. 5
    Ferme la parenthèse de la fonction VSTACK et appuie sur Entrée. Celle de la seconde fonction IMPORTRANGE a déjà été refermée à l'étape précédente. Chaque fichier réclame en plus sa propre autorisation la première fois. Tu cliques sur « Autoriser l'accès » pour les régions, puis une seconde fois pour les marchés export, car l'accès se donne fichier par fichier.
Une fois les morceaux assemblés, ta formule donne ça :=VSTACK({"Zone"\"Ventes"\"Objectif"}; IMPORTRANGE("https://docs.google.com/spreadsheets/d/1aBcD3fGhIjK/edit"; "A2:C16"); IMPORTRANGE("https://docs.google.com/spreadsheets/d/1zYxW9vUt/edit"; "A2:C11"))
Explication
VSTACK empile verticalement les trois blocs que tu lui donnes, dans l'ordre : d'abord ton en-tête sur mesure, puis les quinze lignes que la première fonction IMPORTRANGE tire du fichier des régions françaises, puis les dix lignes que la seconde tire du fichier des marchés export. Chaque import démarre en ligne 2 (A2:C…) pour laisser de côté l'en-tête propre à chaque fichier source, si bien qu'un seul titre coiffe l'ensemble. Le premier import doit être autorisé, le second aussi : l'accès se donne fichier par fichier, jamais en bloc.
Exemple 4

Comment afficher un message au lieu d'une erreur en combinant les fonctions IMPORTRANGE et SIERREUR

Ton tableau de bord part à la direction, alimenté par la fonction IMPORTRANGE qui va chercher les chiffres dans le fichier régional. Le jour où quelqu'un renomme l'onglet, déplace le fichier sur Drive ou te retire l'accès, ton import bascule en #REF! brut et c'est la direction qui découvre l'erreur à ta place. Enveloppée dans SIERREUR, la même fonction IMPORTRANGE affiche un message clair et actionnable dès que la source ne répond plus comme prévu, ici parce que l'onglet « Trimestre4 » visé n'existe pas dans le fichier.

Les étapes
  1. 1
    Dans une cellule, écris =SIERREUR(.
  2. 2
    En 1er argument : écris l'import à surveiller et referme-le, IMPORTRANGE("https://docs.google.com/spreadsheets/d/1aBcD3fGhIjK/edit"; "Trimestre4!A1:C16"). Le fichier source n'a pourtant aucun onglet nommé « Trimestre4 », sa seule feuille contient le tableau des régions, si bien que la fonction IMPORTRANGE ne trouve pas la feuille demandée et renvoie #REF!.
  3. 3
    En 2ᵉ argument : saisis entre guillemets le message à afficher en cas d'échec, "Onglet Trimestre4 introuvable dans le fichier source, vérifiez son nom". SIERREUR l'affiche à la place du #REF! dès que l'onglet a été renommé, le fichier déplacé ou supprimé, ou tes droits de lecture révoqués.
  4. 4
    Ferme la parenthèse et appuie sur Entrée. Tant que la source répond, cette enveloppe ne change strictement rien à ton tableau ; elle n'intervient que le jour où l'import tourne mal.
En mettant tout bout à bout, tu écris :=SIERREUR(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1aBcD3fGhIjK/edit"; "Trimestre4!A1:C16"); "Onglet Trimestre4 introuvable dans le fichier source, vérifiez son nom")
Explication
Le fichier source n'a qu'un seul onglet, celui des régions montré ci-contre, et aucune feuille ne s'appelle « Trimestre4 ». La fonction IMPORTRANGE cherche donc un onglet qui n'existe pas et renvoie #REF!. SIERREUR intercepte cette erreur avant qu'elle n'atteigne ton tableau et affiche à la place le message que tu as écrit, qui dit noir sur blanc quoi vérifier.

Attention : SIERREUR ne fait pas le tri entre les causes d'erreur : elle affiche ton message pour n'importe quel import qui tourne mal, y compris le #REF! de la toute première autorisation. Tant que tu n'as jamais relié les deux fichiers, tu liras « Onglet Trimestre4 introuvable... » sans voir le bouton « Autoriser l'accès », alors que le nom de l'onglet n'y est pour rien. Valide toujours ta fonction IMPORTRANGE seule, autorise l'accès et vérifie qu'elle affiche bien tes données, puis seulement enveloppe-la dans SIERREUR.

Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction IMPORTRANGE

Avec IMPORTRANGE, ce qui casse, c'est presque toujours l'accès au fichier voisin ou le nom d'onglet, jamais le calcul. Le #REF! cache deux histoires : soit tu n'as pas encore cliqué « Autoriser l'accès » (une seule fois entre les deux fichiers), soit ton nom de feuille a une majuscule ou un espace qui ne colle pas. Le #ERROR! te renvoie à l'URL (incomplète ou avec un caractère parasite), le #N/A te dit que la source a disparu ou que tes droits ont sauté, et un fichier qui rame trahit des plages trop larges.

#REF! : autorisation d'accès refusée ou en attente

La première fois que tu utilises IMPORTRANGE entre deux fichiers, Google Sheets bloque l'import pour des raisons de sécurité. La cellule affiche #REF! jusqu'à ce que tu autorises la connexion.

Solution : Clique sur la cellule contenant la formule, puis sur le bouton « Autoriser l'accès » dans la notification qui s'affiche. Cette autorisation est permanente entre ces deux fichiers : tu ne la donnes qu'une seule fois.

#REF! : nom de feuille ou plage introuvable

Le nom de la feuille spécifié dans plage_chaîne ne correspond pas exactement à celui du fichier source (sensible à la casse et aux espaces), ou la plage dépasse les limites des données existantes.

Solution : Ouvre le fichier source et vérifie le nom exact de l'onglet. La syntaxe correcte est "NomFeuille!A1:D10". Un espace en trop ou une majuscule manquante suffit à déclencher l'erreur.

#ERROR! : URL invalide ou incorrecte

L'URL fournie ne pointe pas vers un fichier Google Sheets valide, ou elle a été copiée de façon incomplète.

Solution : Copie l'URL complète depuis la barre d'adresse de ton navigateur, ou utilise uniquement l'ID du fichier (la chaîne entre /d/ et /edit). Vérifie qu'il n'y a pas d'espace ni de caractère parasite dans la chaîne.

Fichier lent ou qui rame avec plusieurs IMPORTRANGE

Chaque IMPORTRANGE maintient une connexion active et importe toutes les cellules de la plage spécifiée. Trop de formules ou des plages trop larges (colonnes entières sur des fichiers volumineux) ralentissent significativement le fichier.

Solution : Limite les plages au strict nécessaire : "Feuille!A2:D200" plutôt que "Feuille!A:D". Si tu dois importer beaucoup de données, filtre-les côté source avec QUERY avant de les importer. Évite plus de 10 à 15 formules IMPORTRANGE dans un même fichier.

#N/A : fichier source inaccessible

Le fichier source a été supprimé, déplacé, ou tes droits d'accès ont été révoqués par le propriétaire.

Solution : Vérifie que le fichier source existe toujours en ouvrant l'URL directement dans ton navigateur. Si tu n'as plus accès, contacte le propriétaire du fichier pour qu'il te redonne les droits de lecture.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

IMPORTRANGE vs IMPORTDATA vs IMPORTXML vs INDIRECT

La frontière la plus nette se joue avec INDIRECT : lui ne sait pointer que dans ton fichier courant, alors que IMPORTRANGE traverse vers un autre classeur Google Sheets, c'est ton seul choix dès que la source est un fichier séparé. Les deux autres changent carrément de terrain : IMPORTDATA quand la source est une URL CSV/TSV publique, IMPORTXML quand tu dois aller gratter une page web. Et seul IMPORTRANGE te demande de cliquer « Autoriser l'accès » la première fois.

CritèreIMPORTRANGEIMPORTDATAIMPORTXMLINDIRECT
SourceFichier Google SheetsURL publique (CSV/TSV)Page web (XML/HTML)Même fichier uniquement
Mise à jour autoOuiOui (délai variable)Oui (délai variable)Instantané
Autorisation requiseOui (une fois)NonNonNon
Cas d'usageConsolidation multi-fichiersFlux CSV depuis APIWeb scraping structuréRéférences dynamiques locales
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec IMPORTRANGE

1Astuce

Combiner IMPORTRANGE et QUERY pour filtrer côté source

Plutôt qu'importer tout un tableau puis filtrer dans ton fichier, enveloppe IMPORTRANGE dans QUERY pour réduire le volume importé : =QUERY(IMPORTRANGE("url"; "Feuille!A:D"); "SELECT * WHERE Col1 > 100 ORDER BY Col2 DESC"). Tu importes moins de cellules, le fichier est plus léger.
La syntaxe QUERY utilise Col1, Col2... (pas les lettres de colonnes) pour référencer les colonnes de la plage importée.

2Astuce

Empiler plusieurs sources avec VSTACK

Pour consolider les données de plusieurs fichiers en un seul tableau, imbrique plusieurs IMPORTRANGE dans VSTACK : =VSTACK(IMPORTRANGE("url1"; "A:C"); IMPORTRANGE("url2"; "A:C")). Les tableaux s'empilent verticalement en une seule formule.
Pour les anciennes versions sans VSTACK, les accolades font le même travail : {IMPORTRANGE("url1"; "A:C"); IMPORTRANGE("url2"; "A:C")}.

3Astuce

Gérer les erreurs d'import avec SIERREUR

Si le fichier source est temporairement inaccessible ou que l'autorisation expire, la cellule affiche une erreur. Enveloppe ta formule dans SIERREUR pour afficher un message propre : =SIERREUR(IMPORTRANGE("url"; "Feuille!A:D"); "Source indisponible").
Ton fichier reste utilisable même quand une source est temporairement coupée.

FAQ

Questions fréquentes

La première fois que tu connectes deux fichiers, Google Sheets te demande de confirmer l'accès pour des raisons de sécurité. Clique sur la cellule contenant la formule et autorise l'accès dans la notification qui apparaît. Cette autorisation est donnée une seule fois par paire de fichiers. Elle persiste même si tu modifies la formule par la suite.

Ressources

Pour aller plus loin

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

Tout voir