Basalt Studio logo
Basalt Studio.Basalt Studio.
Back

Comment importer un fichier XML vers Google Sheets : 3 techniques étape par étape

Eliott Ardisson

Eliott Ardisson

Founder & CEO - Basalt Studio

Updated
tutorials

Comment importer un fichier XML vers Google Sheets : comparatif de 3 méthodes concrètes — IMPORTXML, Apps Script et automatisation no-code.

ai agents
automation
programmatic

Points clés

  • IMPORTXML fonctionne uniquement avec des URLs publiques et prend moins de 10 minutes à mettre en place — c’est le bon point de départ pour des flux simples.
  • Google Apps Script permet de lire des fichiers XML stockés sur Google Drive et d’écrire une logique de transformation sur mesure, mais demande des notions de JavaScript.
  • Les outils d’automatisation no-code (n8n, Make, etc.) s’imposent dès que l’import XML fait partie d’un workflow plus large connectant plusieurs systèmes.
  • La limite la plus fréquente avec IMPORTXML n’est pas technique : c’est que le fichier XML n’est pas accessible publiquement.
  • Choisir la bonne méthode dépend de trois paramètres : la source du fichier (URL publique ou Drive), la fréquence de mise à jour, et le niveau de transformation nécessaire.

Le XML n’a pas disparu. Les développeurs lui préfèrent souvent JSON aujourd’hui, mais dans les échanges B2B, les flux de catalogue produits, les exports comptables ou les APIs d’entreprises héritées, le XML reste omniprésent. Le problème n’est pas le format en lui-même — c’est qu’un fichier XML brut est difficile à lire, impossible à analyser visuellement, et inadapté à la prise de décision rapide.

Importer ces données dans Google Sheets transforme un fichier structuré mais opaque en tableau exploitable. On peut ensuite appliquer des formules, créer des graphiques, partager avec l’équipe, automatiser des rapports. Ce guide couvre trois méthodes concrètes, avec leurs contraintes réelles et les situations où chacune s’impose.


Ce qu’est le XML et pourquoi il persiste

Le XML (eXtensible Markup Language) est un format de représentation de données hiérarchiques. Contrairement au HTML, il ne décrit pas comment afficher une information — il décrit ce qu’est l’information et comment elle s’organise.

Un fichier XML ressemble à ceci :

<catalogue>
  <produit>
    <reference>REF-001</reference>
    <nom>Chaudière murale gaz</nom>
    <prix>1290</prix>
    <stock>12</stock>
  </produit>
  <produit>
    <reference>REF-002</reference>
    <nom>Pompe à chaleur air/eau</nom>
    <prix>3450</prix>
    <stock>4</stock>
  </produit>
</catalogue>

Chaque donnée est encadrée par des balises ouvrantes et fermantes. Les éléments peuvent s’imbriquer à plusieurs niveaux. La structure est lisible pour une machine, laborieuse pour un humain qui veut comparer des lignes.

Dans les PME, on rencontre du XML dans plusieurs contextes courants : les flux de produits e-commerce (notamment sur des marketplaces), les exports de logiciels comptables et ERP, les flux RSS pour la veille, les échanges de données avec des partenaires ou des administrations (facturation électronique au format UBL par exemple), et les APIs de prestataires qui n’ont pas encore migré vers JSON.


Méthode 1 : La fonction IMPORTXML native

Ce qu’elle fait et ce qu’elle ne fait pas

IMPORTXML est une fonction Google Sheets qui récupère des données depuis une URL publique et les insère dans une feuille. Elle utilise le langage XPath pour naviguer dans la structure XML et sélectionner les éléments à extraire.

Sa syntaxe de base :

=IMPORTXML("url_du_fichier", "requête_xpath")

Ce qu’elle peut faire :

  • Lire n’importe quel fichier XML accessible via une URL publique
  • Extraire des nœuds spécifiques ou l’ensemble du document
  • Lire aussi des flux RSS, des pages HTML structurées, des fichiers CSV en ligne

Ce qu’elle ne peut pas faire :

  • Accéder à des fichiers stockés dans Google Drive (même les vôtres)
  • Traiter des fichiers protégés par une authentification
  • Gérer des fichiers très volumineux (la limite pratique tourne autour de 50 000 caractères)
  • Gérer nativement les espaces de noms XML complexes

Comment l’utiliser en pratique

Prenons un exemple concret : vous récupérez un flux de catalogue produits depuis un fournisseur, accessible à une URL publique. La structure XML comprend des éléments <produit> contenant <nom>, <prix>, et <stock>.

Étape 1 : Vérifiez l’accès à l’URL. Ouvrez l’URL dans un navigateur. Si le contenu XML s’affiche, IMPORTXML pourra y accéder.

Étape 2 : Identifiez les nœuds XPath cibles. XPath fonctionne comme un chemin dans l’arborescence. //produit/nom sélectionne tous les éléments <nom> enfants de <produit>. //produit sélectionne l’ensemble des éléments <produit> avec leurs enfants.

Étape 3 : Écrivez la formule dans une cellule.

=IMPORTXML("https://exemple-fournisseur.com/catalogue.xml", "//produit/nom")

Cette formule retourne une colonne avec tous les noms de produits. Pour récupérer les prix dans la colonne adjacente :

=IMPORTXML("https://exemple-fournisseur.com/catalogue.xml", "//produit/prix")

Requêtes XPath utiles à connaître :

  • //element : tous les éléments portant ce nom, quelle que soit leur position
  • //element/sous-element : les enfants directs d’un élément
  • //* : tous les éléments du document (à utiliser avec précaution sur les gros fichiers)
  • //element/@attribut : la valeur d’un attribut XML

Erreurs fréquentes et leurs causes

#N/A ou #ERREUR : L’URL n’est pas accessible depuis les serveurs Google. Vérifiez qu’elle est publique, que le serveur répond bien, et que le fichier est un XML valide.

Données incomplètes : Votre requête XPath ne cible pas le bon niveau de l’arborescence. Inspectez la structure du XML et ajustez le chemin.

Timeout ou chargement infini : Le fichier est trop volumineux pour IMPORTXML. Passez à la méthode 2 ou 3.


Méthode 2 : Google Apps Script pour les fichiers complexes

Quand Apps Script s’impose

Apps Script est la solution quand :

  • Le fichier XML est stocké dans Google Drive
  • La structure XML est imbriquée et nécessite une logique de traitement
  • Vous voulez automatiser l’import sur un calendrier précis
  • Vous devez transformer les données (renommer des colonnes, filtrer des lignes, recalculer des valeurs) avant de les écrire dans Sheets

Accéder à l’éditeur Apps Script

Dans Google Sheets : Extensions > Apps Script. Un éditeur s’ouvre avec une fonction vide. Supprimez le contenu par défaut.

Un script fonctionnel commenté

function importerXMLDepuisDrive() {
  // Remplacez cette valeur par l'ID de votre fichier Google Drive
  // L'ID se trouve dans l'URL du fichier : drive.google.com/file/d/[ID_ICI]/view
  const idFichier = 'VOTRE_ID_DE_FICHIER';
  
  // Lecture du fichier
  const fichier = DriveApp.getFileById(idFichier);
  const contenuXML = fichier.getBlob().getDataAsString();
  
  // Parsing du XML
  const document = XmlService.parse(contenuXML);
  const racine = document.getRootElement();
  const produits = racine.getChildren('produit');
  
  // Cibler la feuille active
  const feuille = SpreadsheetApp.getActiveSheet();
  feuille.clear();
  
  // Écrire les en-têtes
  feuille.getRange(1, 1, 1, 4).setValues([
    ['Référence', 'Nom', 'Prix', 'Stock']
  ]);
  
  // Boucler sur les produits et écrire les données
  const lignes = produits.map((produit, index) => {
    return [
      produit.getChildText('reference') || '',
      produit.getChildText('nom') || '',
      produit.getChildText('prix') || '',
      produit.getChildText('stock') || ''
    ];
  });
  
  if (lignes.length > 0) {
    feuille.getRange(2, 1, lignes.length, 4).setValues(lignes);
  }
}

Exécuter et automatiser

Première exécution :

  1. Cliquez sur Enregistrer, puis sur Exécuter
  2. Google vous demandera d’autoriser l’accès à Drive et Sheets
  3. Acceptez les permissions

Automatisation par déclencheur :

  1. Dans l’éditeur Apps Script, cliquez sur l’icône d’horloge (Déclencheurs)
  2. Ajoutez un déclencheur basé sur le temps : toutes les heures, chaque matin à 8h, etc.
  3. Sélectionnez la fonction importerXMLDepuisDrive

À partir de là, l’import se fait sans intervention manuelle.

Points de vigilance

Apps Script a une limite d’exécution de 6 minutes par script. Pour des fichiers XML très volumineux, il faut traiter les données par lots. La gestion d’erreurs (blocs try/catch) est également importante pour éviter que le script s’arrête silencieusement en cas de fichier corrompu ou indisponible.


Méthode 3 : Automatisation no-code avec n8n ou Make

Quand cette approche est la bonne

Cette méthode s’impose quand l’import XML n’est pas un geste isolé mais une étape dans un processus plus large. Par exemple : un cabinet de recrutement reçoit des exports XML de candidatures depuis un ATS tiers, doit les transformer, les charger dans Sheets, et déclencher une notification Slack vers le consultant concerné. Connecter ces étapes dans un outil d’automatisation est plus propre et plus maintenable qu’un script monolithique.

n8n est open source, auto-hébergeable, et particulièrement flexible pour les workflows complexes. C’est l’un des outils que Basalt Studio déploie régulièrement dans ses implémentations pour des clients PME qui ont besoin d’intégrations entre plusieurs systèmes sans dépendre d’un éditeur SaaS.

Make (anciennement Integromat) offre une interface visuelle plus accessible pour des équipes sans développeur.

Structure d’un workflow typique

Un workflow d’import XML vers Google Sheets suit généralement cette structure :

  1. Déclencheur : arrivée d’un email avec pièce jointe XML, appel d’un webhook, ou planification temporelle
  2. Récupération du fichier : téléchargement depuis une URL, lecture d’un email, connexion à un FTP ou un S3
  3. Parsing XML : extraction des nœuds pertinents via les modules natifs des outils (les deux disposent de parsers XML intégrés)
  4. Transformation : mappage des champs XML vers les colonnes Sheets, conversion de types, filtrage conditionnel
  5. Écriture dans Google Sheets : insertion de lignes, mise à jour de cellules existantes, ou remplacement complet d’un onglet
  6. Notifications : alerte en cas d’erreur, confirmation d’exécution

Ce que cette méthode apporte en plus

  • Gestion d’erreurs visible : les logs d’exécution sont accessibles, les erreurs déclenchent des alertes configurables
  • Traçabilité : chaque exécution est enregistrée avec son statut
  • Scalabilité : le même workflow peut traiter 10 fichiers XML ou 10 000 avec les mêmes paramétrages
  • Maintenance sans code : modifier le mapping de champs ou ajouter une étape ne nécessite pas de toucher à du JavaScript

Comparatif des trois méthodes

CritèreIMPORTXMLApps ScriptAutomatisation no-code
Niveau technique requisFaible (XPath basique)Moyen (JavaScript)Faible à moyen
Temps de mise en place5 à 15 min1 à 3 heures30 à 90 min
Fichiers Google DriveNonOuiOui
URLs publiquesOuiOuiOui
Automatisation planifiéeNon (refresh à l’ouverture)Oui (déclencheurs)Oui (natif)
Intégration multi-systèmesNonPartielleOui
CoûtGratuitGratuitSelon l’outil
MaintenanceFaibleMoyenneFaible

En résumé :

  • IMPORTXML pour une lecture rapide d’un flux XML public et stable
  • Apps Script pour un contrôle total sur des fichiers Drive avec logique personnalisée
  • Automatisation no-code quand l’import XML est une étape dans un workflow plus large

Problèmes fréquents et comment les résoudre

IMPORTXML retourne #N/A

Causes les plus courantes :

  • L’URL n’est pas accessible depuis l’extérieur (fichier privé, IP bloquée, authentification requise)
  • Le serveur est temporairement indisponible
  • Le fichier XML contient des erreurs de syntaxe

À faire : ouvrez l’URL dans un onglet de navigation privée. Si le XML ne s’affiche pas, IMPORTXML ne peut pas y accéder non plus.

Les données importées sont incomplètes ou mal alignées

Cause fréquente : la requête XPath ne correspond pas exactement à la structure du fichier. Les espaces de noms XML (namespace) sont une source classique de confusion — un élément déclaré xmlns:cbc="..." ne se sélectionne pas avec une simple requête //cbc:element sans déclaration de namespace.

À faire : utilisez un validateur XPath en ligne pour tester vos requêtes directement sur le fichier XML avant de les intégrer dans Sheets.

Le script Apps Script s’arrête sans message d’erreur

Cause probable : le fichier XML est trop volumineux et le script dépasse le délai d’exécution de 6 minutes. Il peut aussi s’agir d’un problème de permissions si le fichier Drive n’appartient pas au même compte Google.

À faire : découpez le traitement en plusieurs fonctions enchaînées, ou passez à un outil d’automatisation qui gère mieux les gros volumes.

Le workflow no-code échoue à parser le XML

Cause fréquente : le fichier n’est pas un XML valide (caractères non encodés, balises mal fermées, encodage non UTF-8). Les parsers des outils d’automatisation sont souvent plus stricts que les navigateurs.

À faire : validez le fichier XML avec un outil comme xmllint ou un validateur en ligne avant de le passer dans votre workflow.


Cas d’usage concrets par secteur

Cabinet comptable : import automatisé d’exports XML depuis un logiciel de facturation vers Sheets pour un tableau de bord de suivi des encaissements, mis à jour chaque matin.

E-commerce : synchronisation quotidienne d’un catalogue XML fournisseur vers une feuille de calcul servant de base de données produits temporaire, avant injection dans la boutique.

Agence de recrutement : lecture d’un flux XML d’offres d’emploi publiées par un partenaire, avec extraction des intitulés, localisations et fourchettes salariales pour analyse interne.

Entreprise HVAC : traitement des bons de commande reçus au format XML depuis un grossiste, chargés dans Sheets pour vérification avant intégration dans le logiciel de gestion.

Dans chacun de ces cas, le choix entre les trois méthodes dépend de la fréquence, du volume, et du niveau de transformation nécessaire — pas de la taille de l’entreprise.


Checklist avant de démarrer

Avant de vous lancer dans l’implémentation, répondez à ces questions :

  • Mon fichier XML est-il accessible via une URL publique, ou stocké dans Drive, ou transmis par email / API ?
  • Quelle est la fréquence de mise à jour souhaitée (manuelle, quotidienne, temps réel) ?
  • Ai-je besoin de transformer les données ou simplement de les transposer ?
  • L’import XML est-il isolé ou fait-il partie d’un workflow plus large ?
  • Quelle est la taille typique des fichiers à traiter ?

Ces réponses déterminent directement laquelle des trois méthodes est la plus adaptée.


L’import de fichiers XML vers Google Sheets n’est pas une opération complexe en soi — mais choisir la mauvaise méthode pour la mauvaise situation crée des frictions inutiles. IMPORTXML couvre 80 % des cas simples en quelques minutes. Apps Script prend le relais quand la logique métier l’exige. Et quand l’import XML s’inscrit dans un processus opérationnel plus large, l’automatisation no-code est la bonne infrastructure.

Si vous évaluez comment intégrer des flux de données XML dans vos outils existants dans le cadre d’une automatisation plus large, réservez un appel stratégie IA avec l’équipe Basalt Studio — c’est gratuit et sans engagement.