Qu'est-ce que la fonction IMPORTRANGE ?
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
=IMPORTRANGE(url_feuille_calcul; plage_chaîne)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.

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.
url_feuille_calcul
: l'URL complète du fichier Google Sheets source dont tu veux importer les donnéesTu 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.
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!.

Exemples pratiques pas à pas
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.
- 1Dans une cellule, écris
=IMPORTRANGE(. - 2En 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. - 3En 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!. - 4Ferme 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.
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1aBcD3fGhIjK/edit"; "A1:C16")#REF! jusqu'à ce que tu cliques sur « Autoriser l'accès », et tu ne le fais qu'une seule fois entre ces deux fichiers.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.
- 1Dans une cellule, écris
=QUERY(. - 2En 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. - 3En 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 parCol1etCol2, jamais par leurs lettres. - 4En 3ᵉ argument : saisis
1pour 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. - 5Ferme 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.
=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1aBcD3fGhIjK/edit"; "A1:C16"); "select Col1, Col2 where Col2 >= 40000 order by Col2 desc"; 1)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.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.
- 1Dans une cellule, écris
=VSTACK(. - 2En 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. - 3En 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. - 4En 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. - 5Ferme 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.
=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"))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.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.
- 1Dans une cellule, écris
=SIERREUR(. - 2En 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!. - 3En 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. - 4Ferme 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.
=SIERREUR(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1aBcD3fGhIjK/edit"; "Trimestre4!A1:C16"); "Onglet Trimestre4 introuvable dans le fichier source, vérifiez son nom")#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.

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.

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ère | IMPORTRANGE | IMPORTDATA | IMPORTXML | INDIRECT |
|---|---|---|---|---|
| Source | Fichier Google Sheets | URL publique (CSV/TSV) | Page web (XML/HTML) | Même fichier uniquement |
| Mise à jour auto | Oui | Oui (délai variable) | Oui (délai variable) | Instantané |
| Autorisation requise | Oui (une fois) | Non | Non | Non |
| Cas d'usage | Consolidation multi-fichiers | Flux CSV depuis API | Web scraping structuré | Références dynamiques locales |

Astuces avancées avec IMPORTRANGE
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.
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")}.
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.
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.
IMPORTRANGE se rafraîchit automatiquement, mais cela peut prendre quelques minutes selon la charge des serveurs Google. Force la mise à jour en rechargeant ta feuille ou en ouvrant le fichier source. Si le problème persiste, vérifie que le fichier source est accessible et que tu as toujours les droits de lecture.
Google Sheets limite à 10 millions de cellules par feuille de calcul, toutes sources confondues. Pour des volumes importants, importe uniquement les colonnes nécessaires et évite d'importer des colonnes entières si tu n'en as pas besoin. Pour réduire le volume, filtre les données côté source avec QUERY avant l'import.
Ouvre le fichier source dans ton navigateur et copie l'URL complète depuis la barre d'adresse. L'URL contient l'identifiant unique du fichier après /d/.
Tu peux aussi utiliser uniquement cet identifiant (la chaîne entre /d/ et /edit) : c'est plus court et fonctionne exactement pareil.
Non. IMPORTRANGE est une fonction exclusive à Google Sheets. Elle ne fonctionne qu'avec des fichiers Google Sheets hébergés sur Google Drive. Pour importer des données depuis Excel dans Google Sheets, charge d'abord le fichier Excel sur Google Drive, convertis-le en format Google Sheets, puis utilise IMPORTRANGE normalement.
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




