IMPORTRANGE récupère une plage de cellules d'un autre fichier Google Sheets dans le fichier courant, et la garde à jour en direct. C'est la fonction qui permet de bâtir des tableaux de bord alimentés par plusieurs classeurs, de partager une tranche contrôlée d'un fichier privé ou de découper un gros classeur en plusieurs fichiers connectés.
Syntaxe
=IMPORTRANGE(spreadsheet_url, range_string)
spreadsheet_url: L'URL du classeur source, ou simplement son ID (la longue chaîne située entre/d/et/editdans l'URL). Elle doit être entre guillemets, sauf si elle vient d'une cellule.range_string: La plage à importer, entre guillemets, éventuellement avec le nom de la feuille :"Feuille1!A1:D20". Sans nom de feuille, la première feuille est utilisée.
Exemple :
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1AbC...xyz/edit", "Ventes!A1:D100")
Première utilisation : autoriser l'accès
La première fois que vous utilisez IMPORTRANGE entre deux fichiers, la cellule affiche #REF! avec un bouton « Autoriser l'accès ». Cliquez dessus une fois et les données apparaissent. L'autorisation est propre à chaque paire de fichiers : elle est redemandée pour chaque nouveau fichier source. Vous devez aussi avoir au minimum un accès en lecture au fichier source.
Exemples
Importer une feuille entière ou une plage ouverte
=IMPORTRANGE("id_du_classeur", "Commandes!A:F")
Les plages de colonnes entières suivent la croissance des données sources. Pour un résultat plus propre, utilisez A2:F afin de sauter la ligne d'en-tête.
Utiliser des cellules pour l'URL et la plage
Gardez l'URL et la plage dans des cellules pour les modifier facilement :
=IMPORTRANGE(A1, B1 & "!A:F")
Filtrer les données importées
IMPORTRANGE renvoie un tableau : vous pouvez donc l'entourer d'autres fonctions. Sélectionner uniquement les lignes dont la deuxième colonne vaut Ventes :
=QUERY(IMPORTRANGE("id_du_classeur", "Commandes!A:F"), "select Col1, Col3 where Col2 = 'Ventes'", 1)
Les plages importées sont désignées par Col1, Col2, Col3, etc. dans QUERY. Voir QUERY.
Chercher dans un autre fichier
=VLOOKUP(A2, IMPORTRANGE("id_du_classeur", "Prix!A:C"), 3, FALSE)
Combiner plusieurs fichiers
Empilez verticalement des plages issues de sources différentes avec des accolades et un point-virgule :
={IMPORTRANGE("id_1", "Données!A2:D"); IMPORTRANGE("id_2", "Données!A2:D")}
Les plages doivent avoir le même nombre de colonnes.
Conseils pour des imports fiables
- Utilisez l'ID plutôt que l'URL complète. C'est plus court et cela fonctionne de la même façon.
- Importez une fois, puis référencez en local. Si vous utilisez la même source dans de nombreuses formules, importez-la une seule fois dans une feuille « données brutes » masquée, et faites lire les autres formules depuis cette feuille. C'est plus rapide et cela ne compte que pour une connexion.
- Évitez les imports massifs de fichiers entiers. Les chaînes d'
IMPORTRANGEimbriquées ralentissent tout et peuvent échouer. - Le résultat est en lecture seule. Vous ne pouvez pas taper par-dessus les cellules importées ; modifiez le fichier source.
- Les changements peuvent prendre un moment. Les mises à jour de la source apparaissent généralement en quelques secondes ou minutes, pas instantanément.
Erreurs courantes
#REF!: « Vous devez connecter ces feuilles ». Cliquez sur Autoriser l'accès. Si aucun bouton n'apparaît, vous n'avez peut-être pas accès en lecture au fichier source.#REF!: « Le résultat de la matrice n'a pas été développé car il écraserait des données ». Les cellules où le résultat se déverse ne sont pas vides. Videz-les.#REF!: « Le contenu importé est vide ». La plage ou la feuille existe mais ne contient aucune donnée.#REF!: « Impossible d'analyser la plage ». Le nom de la feuille ou la plage comporte une faute. Vérifiez l'orthographe et la casse, et utilisez la forme"Nom de la feuille!A1:D20".#ERROR!/ « Erreur interne » ou « Chargement... » très long. La source est très volumineuse, ou vous avez trop d'appels àIMPORTRANGE. Réduisez la plage, ou importez moins de blocs, plus grands.- Limite de taille. L'importation de très grandes plages peut atteindre les limites de Google. N'importez que les colonnes nécessaires.
Questions fréquentes
Les données sont-elles en direct ? Oui. Elles se rafraîchissent quand la source change, avec un court délai.
Peut-on importer depuis un fichier Excel ou CSV ? IMPORTRANGE ne fonctionne qu'avec des fichiers Google Sheets natifs. Pour un fichier CSV en ligne, utilisez IMPORTDATA ; pour un fichier Excel, convertissez-le d'abord en Google Sheets.
Cela fonctionne-t-il si la source est privée ? Oui, si vous y avez accès. Les personnes qui consultent votre fichier n'obtiennent pas automatiquement l'accès à la source, mais elles voient les valeurs importées. Soyez prudent en partageant un fichier qui contient des données privées importées.
Pourquoi est-ce lent ? Chaque IMPORTRANGE est une récupération distincte. Moins d'imports, plus larges, sont plus rapides que de nombreux petits imports.
Fonctions associées
QUERY: Filtrer et agréger les données importées en une seule formule.FILTER: Ne renvoyer que les lignes importées qui remplissent une condition.VLOOKUP: Chercher des valeurs dans une plage importée.ARRAYFORMULA: Appliquer une formule à toute une plage.IMPORTDATA: Importer un fichier CSV ou TSV depuis une URL.