Aller au contenu principal
Beta de lancement — ExcelifyXML vient d'ouvrir ! Un avis, un bug, une idée ? Écrivez-nous — on lit tout.

— Documentation

Comment ça marche ?

Le workflow complet : transformation XML → édition CSV → reconstruction du XML, 100 % en ligne. Sans tiers, sans stockage, sans installation.

Vous préférez régénérer le XML directement depuis Excel ? Voir le classeur Excel autonome ↓

Démarrage rapide

Glissez votre XML et vérifiez l'aperçu gratuit, puis récupérez un fichier .excelify (ZIP), modifiez le CSV dans Excel/Numbers/Sheets et reconstruisez le XML en un clic. Le crédit n'est utilisé qu'à votre confirmation, et les reconstructions sont illimitées.

Vue d'ensemble

ExcelifyXML analyse la structure de votre XML, génère un CSV éditable + un manifest qui décrit la structure d'origine, et vous permet de reconstruire le XML en ligne après modification.

1
Upload du XML

Glissez votre fichier XML. Un aperçu gratuit montre aussitôt la balise de ligne détectée et les premières lignes : changez de balise si besoin, le crédit n'est utilisé qu'à la confirmation. ExcelifyXML gère les multi-locales, les attributs SFCC, les wrappers imbriqués.

2
Bundle .excelify

Vous confirmez (1 crédit) et récupérez un seul fichier ZIP : data.csv (vos données éditables) et skeleton.json (la structure XML). Décompressez-le avant de modifier le CSV.

3
Reconstruction

Modifiez le CSV où vous voulez, puis déposez-le avec skeleton.json sur /reconstruct — en ligne, sur tous les OS. Aucune limite sur le nombre de reconstructions.

Pas de fichier sous la main ? Essayez avec un exemple

Des fichiers publics, publiés sous licence libre par leurs auteurs. Déposez-en un sur la page Upload : l'aperçu gratuit montre le résultat avant d'utiliser un crédit.

Sitemap XML (sitemaps.org)

L'exemple de la spécification du protocole Sitemaps : 5 adresses, avec leur date de modification, leur fréquence de mise à jour et leur priorité. L'aperçu signale la colonne lastmod : ouvertes par double-clic, ces dates sont réécrites par Excel.

Dans l'aperçu : une ligne par url, soit 5 lignes et 4 colonnes.

Télécharger le fichier XML (0,9 Ko)

Exemple de la spécification du protocole Sitemaps 0.90, © Google Inc., Yahoo! Inc. et Microsoft Corporation, publié sous licence CC BY-SA 2.5 ; le fichier reste sous cette licence. Source · Licence CC BY-SA 2.5

Catalogue de démonstration PrestaShop

Les 19 produits de la boutique de démonstration de PrestaShop, en français : nom, descriptions en HTML et URL simplifiée. L'aperçu signale aussi des balises vides (meta_title…), que la reconstruction ne reprend pas.

Dans l'aperçu : une ligne par product, soit 19 lignes et 10 colonnes.

Télécharger le fichier XML (13 Ko)

Données de démonstration de PrestaShop, © PrestaShop and Contributors, publiées sans modification sous licence OSL 3.0. En téléchargeant ce fichier, vous acceptez cette licence. Source · Licence OSL 3.0

Catalogue SFCC de test

Un catalogue Salesforce Commerce Cloud de test : 5 produits fictifs (un produit à variantes, une variante, un set, un bundle et un produit minimal) avec images, attributs de page et attributs personnalisés. Les valeurs sont des valeurs de test. L'aperçu signale la colonne upc : ouverts par double-clic, ces codes passent en notation scientifique dans Excel.

Dans l'aperçu : une ligne par product, soit 5 lignes et 70 colonnes.

Télécharger le fichier XML (11 Ko)

Fichier de test de la bibliothèque php-demandware-xml, © 2015 Fusions PIM Limited, sous licence MIT. Seul l'avis de licence a été ajouté, en tête du fichier. Source · Licence MIT

Ce ne sont pas des exports réels : ces fichiers servent à essayer l'outil. Leurs auteurs n'ont aucun lien avec ExcelifyXML.

Le round-trip XML ↔ CSV

Régénérez votre XML après édition directement sur le site : déposez votre data.csv modifié avec son skeleton.json, récupérez le XML.

Reconstruction web

Sur la page /reconstruct, déposez votre data.csv modifié avec son skeleton.json (« Fichiers séparés »), ou le bundle .excelify.zip si vous y avez remis le CSV modifié. Le serveur lit le manifest, retrouve seul le séparateur et l'encodage du CSV, applique vos modifications et vous renvoie le XML reconstitué. S'il voit que votre tableur a abîmé des valeurs (caractères remplacés par « ? », code EAN passé en notation scientifique, date changée de format), il s'arrête et vous explique comment corriger. Fonctionne sur Mac, Linux, Windows, Chromebook. Aucun setup.

Pourquoi un manifest ?

Le skeleton.json contient toutes les infos que le CSV ne peut pas porter à plat : racine, namespaces, wrappers intermédiaires, ordre des éléments, attributs hérités. Sans lui, on perdrait la structure. C'est lui qui rend le round-trip fidèle. Ne le modifiez jamais.

Reconstructions illimitées

Une transformation = 1 crédit = 1 manifest. Avec ce manifest, vous pouvez modifier votre CSV et reconstruire le XML autant de fois que vous voulez, gratuitement. Vous payez la transformation, une fois l'aperçu gratuit vérifié, pas la régénération.

Ce que la reconstruction conserve, et ce qui peut changer

Le XML reconstruit contient les mêmes données dans la même structure, avec vos modifications. Il n'est pas toujours identique au fichier d'origine à l'octet près : voici les différences connues.

Conservé

  • La racine, ses attributs et ses déclarations d'espaces de noms (xmlns:g…).
  • L'imbrication des balises, leurs préfixes (g:price) et leurs attributs, dans leur ordre, même si vous déplacez des colonnes dans le tableur, sauf dans les cas décrits dans « Peut changer ».
  • Quand le fichier a une colonne _type et que chaque type y formait un bloc (catalogue ou bibliothèque SFCC), les lignes de chaque type regroupées, dans l'ordre des types du fichier d'origine, même après un tri ou une ligne ajoutée en bas de la feuille.
  • Ce qui se trouve hors des lignes du CSV, à sa place avant ou après elles : en-tête d'un catalogue ou d'une liste de prix, titre d'un flux, affectations de catégories placées après les produits.
  • Chaque valeur telle que vous l'avez laissée ou modifiée, espaces et retours chariot (
) compris.
  • Le CDATA, d'après la première apparition de chaque champ : si elle est en CDATA, toutes les valeurs du champ s'écrivent en CDATA.
  • Les commentaires placés avant la racine, la ligne ‹!DOCTYPE …› qui renvoie à une DTD externe, et l'attribut standalone de la déclaration.
  • Les champs qui ne contiennent que true / false, même quand le tableur les a réécrits VRAI / FAUX ou TRUE / FALSE.

Peut changer

  • La déclaration XML : toujours présente, et toujours en UTF-8 (un fichier ISO-8859-1 ou UTF-16 ressort en UTF-8).
  • La mise en forme : une balise par ligne, indentation de deux espaces.
  • Les balises vides sans attribut (<upc/>) ne sont pas reprises, ni celles qui ne portent que l'attribut qui les nomme (‹custom-attribute attribute-id="badge"/›) ; l'aperçu le signale. Une balise vide qui porte un autre attribut est conservée.
  • Le texte mêlé à des balises (« Appuyez ‹b›ici‹/b› pour continuer ») : seules les balises et leur texte restent ; l'aperçu le signale.
  • L'ordre des champs et des attributs, quand les enregistrements du fichier ne suivent pas tous le même : un même ordre s'applique à tous ; l'aperçu le signale.
  • L'ordre de balises de même nom qui alternent avec d'autres dans un enregistrement (paragraphes et listes d'un texte riche : ‹p›, ‹ul›, ‹p› ; paires clé/valeur) : elles sont regroupées par nom ; l'aperçu le signale.
  • L'ordre des attributs d'une balise répétée qui se distingue par son attribute-id, son xml:lang, sa locale ou son site-id : ces attributs sont écrits en premier. En XML, l'ordre des attributs n'a pas de signification.
  • Les autres commentaires (dans la racine ou après elle) et les instructions de traitement (‹?xml-stylesheet?›, ‹?mso-application?›) ne sont pas repris.
  • Une balise placée entre deux enregistrements, et non avant ou après eux, est réécrite après le dernier.
  • Les caractères invisibles que XML interdit, collés dans une cellule : un saut de ligne de Word ou de PowerPoint s'écrit comme un saut de ligne ; pour les autres, la reconstruction s'arrête et indique les cellules.
  • Ce qui dépasse les limites de votre tableur, coupé dès l'ouverture du CSV : les colonnes au-delà de 16 384 (Excel, LibreOffice ; 1 000 dans Numbers), la fin d'une valeur au-delà de 32 767 caractères (Excel ; 50 000 dans Google Sheets). L'aperçu le signale, et la reconstruction s'arrête si elle trouve des colonnes ou des valeurs coupées.
  • L'écriture de certaines valeurs, jamais leur contenu : &#233; s'écrit é ; une valeur qui contient du balisage (&lt;p&gt;…) passe en CDATA ; dans un champ sans CDATA à sa première apparition, une valeur en CDATA sans balisage s'écrit sans ; une balise vide du fichier d'origine s'écrit <img/> ; les guillemets simples des attributs deviennent doubles.

Structure du fichier CSV

Le CSV généré utilise une nomenclature spéciale pour préserver la structure XML :

@attribut

Attribut direct sur l'élément

@category-id → ‹category category-id="..."›
element[lang]

Élément avec attribut xml:lang

display-name[fr] → ‹display-name xml:lang="fr"›...‹/display-name›
element[id]

Élément avec attribute-id (custom-attributes)

custom-attribute[showInMenu] → ‹custom-attribute attribute-id="showInMenu"›...
parent.child

Élément imbriqué

page-attributes.page-title[x-default] → ‹page-attributes›‹page-title›...
tag[N].sub

Élément répété (indexé à partir de 0)

skill[0].@name = 1er ‹skill›, skill[1].@name = 2e ‹skill›
ancestor.@attr

Attribut d'un élément ancêtre (contexte dénormalisé)

company.@country → ‹company country="FR"›‹employees›...
element[id][lang]

Élément avec attribute-id et xml:lang (custom-attribute traduit) : une colonne par attribut et par langue

custom-attribute[seo_url][fr-FR] → ‹custom-attribute attribute-id="seo_url" xml:lang="fr-FR"›...
element[id][site]

Élément avec attribute-id et site-id (custom-attribute propre à un site) : une colonne par attribut et par site

custom-attribute[badge][SiteFR] → ‹custom-attribute attribute-id="badge" site-id="SiteFR"›...
element[site]

Champ défini par site (online-flag, searchable-flag…) : une colonne pour la valeur de tous les sites, une par site

online-flag → ‹online-flag›, online-flag[SiteUS] → ‹online-flag site-id="SiteUS"›
tag[N].@attr

Élément répété qu'aucun attribut ne suffit à identifier (ex. le même custom-attribute deux fois avec la même langue et le même site) : indexé, ses attributs en colonnes

custom-attribute[0].@attribute-id = seo_url, custom-attribute[0].@xml:lang = fr, custom-attribute[0] = valeur
#text

Texte porté directement par la ligne elle-même (sans sous-balise)

#text → ‹string name="app_name"›Mon application‹/string›

Bonnes pratiques

Pour que la reconstruction XML fonctionne correctement, respectez ces règles.

Ce que vous pouvez faire

  • Modifier les valeurs des cellules (titres, descriptions, prix...)
  • Ajouter des lignes pour créer de nouveaux éléments XML
  • Supprimer des lignes pour retirer des éléments du XML final
  • Filtrer ou trier : le XML suit l'ordre de vos lignes. Si le fichier a une colonne _type et que chaque type y formait un bloc, les lignes de chaque type restent groupées comme dans le fichier d'origine : une ligne ajoutée en bas rejoint celles de son type
  • Déplacer des colonnes : le XML garde l'ordre des champs du fichier d'origine

À ne jamais faire

  • Modifier les en-têtes (1ère ligne) — ce sont les chemins XML
  • Ouvrir par double-clic un CSV qui contient des codes EAN, des zéros en tête ou des dates : importez-le plutôt par Données › À partir d'un fichier texte/CSV, ces colonnes en Texte
  • Enregistrer dans un autre format que CSV : choisissez de préférence « CSV UTF-8 », qui garde tous les caractères
  • Fusionner des cellules ou ajouter des feuilles supplémentaires
  • Dupliquer une colonne, même pour en garder une copie de sauvegarde : la reconstruction s'arrête si les copies diffèrent

Classeur Excel autonome2 crédits

Une alternative au CSV : vous recevez un classeur Excel (.xlsm) qui contient vos données et un bouton « Générer le XML ». Vos modifications et la génération du XML se font dans Excel, sur votre poste, hors ligne — autant de fois que vous voulez, sans repasser par le site. Pour un très gros fichier, il suffit d'envoyer un extrait : vous ajoutez ensuite toutes vos lignes dans Excel.

Mode standard — 1 crédit

Un CSV et son manifest, à modifier dans n'importe quel tableur (Excel, Numbers, Google Sheets, LibreOffice). La reconstruction se fait en ligne, gratuitement et sans limite. Fonctionne partout, y compris quand les macros sont interdites.

Classeur Excel autonome — 2 crédits

Un classeur .xlsm prêt à l'emploi : vos données écrites en texte (zéros initiaux, EAN et dates préservés) et un bouton qui régénère le XML hors ligne. Il faut Excel de bureau, sur Windows ou sur Mac, et autoriser la macro de ce classeur.

En 3 étapes

  1. 1Générez le classeur

    Sur la page Classeur Excel, déposez votre XML et vérifiez l'aperçu gratuit, puis cliquez sur « Générer mon classeur » (2 crédits). Le classeur est prêt en quelques secondes, avec le bundle standard en secours.

  2. 2Ouvrez-le en autorisant sa macro

    Windows : avant de l'ouvrir, clic droit sur le fichier › Propriétés › cochez « Débloquer » › OK, puis « Activer le contenu ». Mac : « Activer les macros », à chaque ouverture.

  3. 3Modifiez, puis générez le XML

    Travaillez dans l'onglet « Données » : vos données commencent en ligne 3, sous les noms techniques (ligne 1) et des libellés lisibles que vous pouvez renommer (ligne 2). Cliquez ensuite sur « Générer le XML » dans l'onglet « Mode d'emploi ». Recommencez à volonté.

Les bons réflexes dans le classeur

  • Toutes les cellules sont au format Texte : ce que vous tapez est repris tel quel (00123 reste 00123).
  • Pour coller depuis un autre fichier, utilisez Collage spécial › Valeurs : un collage normal peut réintroduire des nombres ou des dates.
  • Ligne 1 (grise) : les noms techniques des colonnes. Ne la modifiez pas : chaque nom indique où placer la valeur dans le XML.
  • Ligne 2 : des libellés pré-remplis pour vous repérer, colorés selon le rôle de la colonne (légende dans le classeur). Renommez-les librement, ils ne changent rien au XML.
  • Les filtres ne changent pas l'export : toutes les lignes sont exportées, y compris les lignes masquées. Pour retirer un élément du XML, supprimez sa ligne.
  • L'ordre des lignes devient l'ordre des éléments dans le XML : triez librement, avec les flèches de la ligne 2 (les deux lignes d'en-tête restent en place). Une exception : si la feuille a une colonne _type (catalogue ou bibliothèque SFCC), gardez les lignes de chaque type ensemble, dans l'ordre d'origine, et ajoutez une ligne à côté de celles de son type.
  • Ne déplacez pas les colonnes : le classeur écrit les champs de chaque élément dans l'ordre de la feuille, et certains formats, comme ceux de Salesforce Commerce Cloud, imposent le leur.
  • Enregistrez toujours au format .xlsm : le format .xlsx supprime la macro.
  • La génération vide l'historique d'annulation d'Excel (Ctrl+Z) : enregistrez votre travail avant si besoin.

Résolution de problèmes

« Ordre des champs canonique » dans les warnings

Solution : Information, pas erreur. Vos lignes XML avaient des ordres de champs différents. Nous avons pris l'ordre de la première ligne comme référence. Le XML reconstitué reste 100% valide — l'ordre des champs n'a pas d'importance sémantique pour Google, Akeneo, SFCC ou Magento.

« Balises vides non préservées » dans les warnings

Solution : Votre XML contient des balises type <sale_price/> ou <upc/> (vides, auto-fermantes). En pratique, ce n'est pas un problème : WooCommerce, PrestaShop, Magento, Akeneo et autres systèmes d'import traitent l'absence d'un champ comme « ne pas modifier la valeur existante » — le même comportement qu'une balise vide. Si vous voulez forcer un effacement, écrivez « 0 » ou un espace dans la cellule.

« Balises vides nommées par leur attribut » dans les warnings

Solution : Votre XML contient des balises vides qui ne portent que l'attribut servant à nommer leur colonne, par exemple ‹custom-attribute attribute-id="badge"/›. Leur cellule est vide, et une cellule vide n'écrit rien : elles ne seront pas dans le XML reconstruit. Si elles servaient à effacer une valeur à l'import, effacez-la dans l'outil de destination.

Le XML reconstruit est différent de l'original

Solution : Sans modification de votre part, le XML reconstruit doit être structurellement identique. Si ce n'est pas le cas (ordre des éléments, attributs perdus), contactez le support avec votre fichier d'origine — c'est un bug à corriger.

Mes modifications n'apparaissent pas dans le XML reconstruit

Solution : Vous avez sans doute déposé le .excelify.zip tel que téléchargé : un tableur enregistre data.csv à côté de l'archive, jamais dedans, donc le .zip contient toujours les valeurs d'origine. La page Reconstruction vous le signale. Choisissez « Fichiers séparés » et déposez votre data.csv modifié avec skeleton.json.

« Les colonnes de ce CSV ne correspondent pas à ce skeleton.json »

Solution : Le CSV et le skeleton.json déposés ne viennent pas du même export, ce qui arrive vite quand plusieurs exports s'accumulent dans Téléchargements (data.csv, data (1).csv…). Reprenez les deux fichiers du même bundle. Ajouter ou supprimer des colonnes reste permis.

« Des cellules remplies ne seront pas dans le XML »

Solution : La reconstruction s'arrête quand des cellules remplies ne peuvent pas être écrites : une colonne ajoutée pour une langue, un site ou un élément numéroté que le fichier d'origine n'a pas (custom-attribute[seo_url][de-DE], image-group[3]), une colonne de travail au nom libre (« À vérifier »), une valeur tapée sur une ligne d'un autre type (colonne _type), des valeurs sans en-tête (tapées à côté du tableau, ou sous un en-tête effacé : « colonne sans en-tête, colonne F »), ou une colonne en double dont les copies diffèrent (une copie de sauvegarde : seule la plus à gauche serait écrite). La page liste les colonnes et les lignes. Une colonne de travail peut rester : reconstruisez quand même. Pour une nouvelle langue ou un nouveau site, ajoutez-le à un élément du XML d'origine, puis transformez de nouveau ce fichier. Gardez une seule colonne par nom, et un en-tête au-dessus de chaque colonne remplie.

« Des caractères invisibles ne peuvent pas aller dans le XML »

Solution : Une cellule contient un caractère de contrôle (U+0001, U+001B…), invisible dans le tableur, souvent arrivé avec un copier-coller depuis un autre logiciel ou une page web. XML l'interdit : un import refuserait le fichier entier. La page indique la colonne, les lignes et le code du caractère. Reconstruisez quand même pour les retirer (le reste du texte est gardé), ou retapez ces cellules. Les sauts de ligne collés depuis Word ou PowerPoint ne bloquent pas : ils s'écrivent comme des sauts de ligne.

Mon fichier XML n'est pas en UTF-8 (UTF-16, ISO-8859-1, Windows-1250, Shift_JIS…)

Solution : Pas de souci : ExcelifyXML détecte l'encodage automatiquement (BOM, déclaration <?xml encoding="..."?> ou contenu du fichier) et convertit en UTF-8 avant traitement. Il lit aussi les encodages déclarés d'Europe centrale, grecs, turcs, baltes, cyrilliques, japonais, chinois et coréens (Windows-1250 à 1258, ISO-8859, Shift_JIS, EUC-JP, GBK, GB18030, Big5, EUC-KR…), sous leurs autres noms aussi (latin1, cp1252, cp932, UHC…). Même un fichier dont la première ligne annonce un autre encodage alors qu'il a été enregistré en UTF-8, ou annonce UTF-8 alors qu'il est en Windows-1252, est lu correctement. Un encodage déclaré qu'ExcelifyXML ne sait pas lire exactement (Mac Europe centrale, EBCDIC…) est refusé sans utiliser de crédit : enregistrez le fichier en UTF-8.

Mon fichier dépasse 4 Mo

Solution : Le forfait gratuit accepte les fichiers jusqu'à 4 Mo ; le forfait VIP jusqu'à 30 Mo (envoi direct sécurisé, sans conservation). Au-delà de 30 Mo, contactez-nous pour un traitement Enterprise sur mesure. Quelle que soit sa taille, un fichier peut contenir jusqu'à 1,5 million d'éléments XML, imbriqués sur 100 niveaux au plus : au-delà, découpez-le en plusieurs fichiers.

« Un second élément racine commence après la fin du premier »

Solution : Votre fichier contient deux documents XML mis bout à bout (deux pages d'un export, deux fichiers concaténés) alors qu'un fichier XML n'a qu'un élément racine. Transformez chaque partie séparément, ou placez-les toutes dans un même élément racine. Aucun crédit n'est utilisé : le fichier est refusé plutôt que de laisser de côté, sans le dire, tout ce qui suit la première racine.

Mon fichier commence par une ligne ‹!DOCTYPE …› (cXML, ONIX, BMEcat…)

Solution : Elle est acceptée quand elle renvoie seulement à une DTD externe, par exemple ‹!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.069/cXML.dtd"›. ExcelifyXML ne télécharge jamais cette DTD : il garde la ligne dans le fichier skeleton.json et la réécrit à sa place dans le XML reconstruit. Une déclaration qui définit elle-même des entités ou des éléments, entre crochets [ … ], est refusée pour la sécurité du service, sans utiliser de crédit : supprimez-la, puis remettez-la dans le XML reconstruit. Si elle définit des entités que le fichier utilise (&nom;), remplacez d'abord chacune par le caractère lui-même ou par sa référence numérique : sans la déclaration, elles seraient reprises comme du texte. Les entités que seule la DTD définit (&nbsp;, &eacute;…) sont refusées aussi, avec leur ligne : remplacez-les par leur référence numérique (&#160;, &#233;) ou par le caractère lui-même. Les listes de propriétés d'Apple (fichiers plist) restent refusées, sans utiliser de crédit : chaque clé n'y est reliée à sa valeur que par leur ordre, que le CSV ne garde pas.

Le CSV s'ouvre en une seule colonne dans mon tableur

Solution : Votre tableur attend l'autre séparateur (Excel français = point-virgule, anglophone = virgule). Choisissez le bon dans « Options avancées », sous l'aperçu de la page Upload, ou réparez le fichier ouvert via Données → Convertir → Délimité dans Excel. La reconstruction retrouve seule le séparateur, quel qu'il soit.

« Texte mêlé à des balises » dans les warnings

Solution : Certaines balises de votre XML contiennent du texte entrecoupé d'autres balises (ex. ‹string›Appuyez ‹b›ici‹/b› pour continuer‹/string›). Un CSV ne peut pas représenter ce mélange : les sous-balises (ici « b ») deviennent des colonnes, mais le texte autour (« Appuyez », « pour continuer ») n'est pas repris et manquera dans le XML reconstruit. Modifiez ces valeurs-là directement dans le fichier XML d'origine ; toutes les autres lignes se modifient normalement dans le CSV.

« Plusieurs éléments que rien ne distingue » ou « lignes rangées dans des éléments différents »

Solution : Votre fichier contient plusieurs listes (par exemple plusieurs listes de prix ou plusieurs entrepôts SFCC) et les lignes choisies ne disent pas à quelle liste elles appartiennent : le XML reconstruit les mélangerait. Transformez chaque liste dans un fichier séparé : vous gardez une ligne par prix ou par produit. Vous pouvez aussi choisir, dans l'aperçu, sous « Pas la bonne ligne ? », l'élément qui regroupe chaque liste (par exemple pricebook) : chaque liste devient alors une seule ligne aux colonnes numérotées, qui dépasse vite les 16 384 colonnes qu'Excel garde (l'aperçu le signale). Aucun crédit n'est débité dans ce cas.

Des « ? » à la place de certains caractères, ou « é » devenu « Ž »

Solution : Le format « CSV » classique d'Excel (comme celui de LibreOffice sous Windows ou d'Excel en ligne) ne sait pas écrire tous les caractères : l'arabe, le chinois, le grec, le cyrillique… deviennent « ? » à l'enregistrement, et même les accents quand l'ordinateur est réglé dans une autre langue (polonais, grec, japonais…). À la reconstruction, ExcelifyXML compare les « ? » du fichier à ceux de votre XML d'origine et s'arrête quand des caractères ont été remplacés. Il ne les voit pas tous : un mot tapé dans un autre alphabet devient « ???? », un accent isolé dans un tout petit fichier passe inaperçu. Le plus sûr : enregistrez avec « CSV UTF-8 (délimité par des virgules) » (Excel sous Windows) ou « CSV UTF-8 » (Excel pour Mac) ; Google Sheets et Numbers enregistrent déjà en UTF-8. Les autres encodages (Mac Roman, Windows dans une autre langue) sont reconnus automatiquement.

Excel a changé mes codes EAN, mes zéros en tête ou mes dates

Solution : Ouvert par double-clic, un CSV est lu par Excel comme des nombres et des dates : « 00123 » devient « 123 », un EAN devient « 3,61235E+12 » (ses derniers chiffres sont perdus), « 1-2 » devient « 01-févr ». Ouvrez plutôt le CSV par Données › À partir d'un fichier texte/CSV, puis « Transformer les données », en donnant le type « Texte » à ces colonnes. L'écran de transformation indique les colonnes concernées, et la reconstruction s'arrête si un code est passé en notation scientifique, si une date est apparue dans une colonne qui n'en avait pas ou si une date a changé de format (« 2026-09-01 » devenu « 01/09/2026 »).

« Votre tableur a coupé une partie du fichier » : trop de colonnes, ou des valeurs trop longues

Solution : Un tableur ne garde qu'un nombre limité de colonnes : 16 384 dans Excel et LibreOffice, 1 000 dans Numbers. Excel garde aussi au plus 32 767 caractères par cellule (Google Sheets 50 000). Ce qui dépasse est coupé dès l'ouverture du CSV, même sans modification : un produit et ses milliers de variantes, plusieurs entrepôts ou listes de prix en colonnes numérotées, une très longue description HTML. L'aperçu et l'écran de transformation le signalent, et la reconstruction s'arrête si le CSV revient coupé ; « Reconstruire quand même » écrit le XML sans ce qui a été coupé. Trop de colonnes : dans l'aperçu, sous « Pas la bonne ligne ? », choisissez une balise de ligne qui donne des lignes plus étroites (par exemple variant plutôt que product), ou découpez le fichier XML (une liste par fichier). Valeurs trop longues : modifiez-les dans le fichier XML d'origine plutôt que dans le tableur.

Classeur Excel autonome

« Microsoft a bloqué l'exécution des macros, car la source de ce fichier n'est pas approuvée »

Solution : Bandeau rouge « Risque de sécurité », sans bouton pour activer : c'est la protection de Windows pour les fichiers téléchargés qui contiennent des macros (il apparaît parfois juste après « Mode protégé › Activer la modification »). Fermez le classeur, puis dans l'Explorateur de fichiers : clic droit sur le fichier › Propriétés › onglet Général › cochez « Débloquer » › OK. Rouvrez-le et cliquez sur « Activer le contenu » dans le bandeau jaune. Ne modifiez pas les réglages de sécurité d'Excel : débloquer ce fichier-là suffit. Pas de case « Débloquer » ? Si le classeur est sur un partage réseau, copiez-le dans un dossier de votre ordinateur et ouvrez la copie ; sinon, votre organisation l'a masquée : voyez avec votre service informatique. Guide détaillé

Le bouton affiche « Impossible d'exécuter la macro » ou ne fait rien

Solution : Excel n'a pas encore autorisé la macro de ce classeur, d'où le message « Impossible d'exécuter la macro… Il est possible qu'elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées ». Sous Windows, cliquez sur « Activer le contenu » dans le bandeau jaune (d'abord « Activer la modification » si le classeur est en Mode protégé). Sur Mac, Excel demande à chaque ouverture « Voulez-vous désactiver les macros avant de l'ouvrir ? » : fermez le classeur, rouvrez-le et cliquez sur « Activer les macros ». Ni bandeau ni question ? Excel est réglé pour désactiver les macros sans prévenir : sous Windows, Fichier › Options › Centre de gestion de la confidentialité › Paramètres du Centre de gestion de la confidentialité › Paramètres des macros ; sur Mac, Excel › Préférences (ou Réglages) › Sécurité. Choisissez l'option « … avec notification », le réglage par défaut — n'activez pas toutes les macros. Si ces options sont grisées, c'est votre organisation qui les gère. Enfin, un classeur réenregistré au format .xlsx a perdu sa macro : repartez du fichier .xlsm d'origine.

Mac : la macro demande de choisir un format en .xml

Solution : macOS isole les applications : Excel ne peut écrire que le fichier choisi dans la fenêtre d'enregistrement, et celle-ci propose par défaut « Classeur Excel (.xlsx) ». Dans « Format du fichier » (en bas de la fenêtre), choisissez « Feuille de calcul XML Excel 2004 (.xml) » (tout format qui se termine par .xml convient : la macro écrit elle-même le contenu), puis Enregistrer. Si macOS refuse encore d'écrire, choisissez un autre dossier (Téléchargements, par exemple).

J'utilise Excel en ligne, Teams, Google Sheets, Numbers ou Excel sur iPad

Solution : Ces applications n'exécutent pas les macros : le bouton n'y fonctionne pas (Excel sur iPad l'indique : « Cette version de Microsoft Excel ne peut pas exécuter les macros VBA »). Classeur ouvert dans Excel en ligne, depuis OneDrive, SharePoint ou Teams ? Choisissez « Ouvrir dans l'application de bureau ». Sinon, utilisez le bundle standard (.excelify.zip) proposé lors de la génération : décompressez-le, modifiez data.csv dans votre tableur, puis reconstruisez le XML en ligne avec skeleton.json, gratuitement.

Mon entreprise bloque les macros

Solution : Certaines organisations encadrent les macros : bandeau « Votre administrateur a restreint l'utilisation des macros dans votre organisation », réglages de sécurité grisés, case « Débloquer » absente, ou macros autorisées seulement si elles sont signées numériquement — ce n'est pas encore le cas de la nôtre. Ne cherchez pas à contourner ces règles : utilisez le bundle standard, qui se reconstruit en ligne sans macro, ou demandez à votre service informatique d'examiner le classeur (il peut par exemple définir un emplacement approuvé réservé à ces fichiers). La page Ce que fait la macro lui donne le code source et le détail de son comportement.

Mon antivirus a mis le classeur en quarantaine

Solution : Les antivirus d'entreprise examinent de près les classeurs contenant des macros. La nôtre n'utilise aucune des fonctions habituellement associées aux macros malveillantes : pas de connexion réseau, pas de lancement de programme, pas d'exécution automatique. Si le classeur reste bloqué, ne forcez pas : écrivez-nous à support@excelifyxml.com en indiquant le nom de l'antivirus, et utilisez le bundle standard en attendant.

Ma messagerie refuse d'envoyer le .xlsm à un collègue

Solution : Beaucoup de messageries d'entreprise bloquent les pièces jointes contenant des macros. Partagez le classeur par votre espace de fichiers habituel (OneDrive, SharePoint, Teams…), ou laissez votre collègue générer son propre classeur. Un classeur reçu par e-mail ou téléchargé depuis Teams est bloqué comme un téléchargement : votre collègue devra lui aussi le débloquer (clic droit › Propriétés › « Débloquer »).

La macro s'arrête sur une cellule en erreur

Solution : Une cellule de l'onglet « Données » contient une erreur Excel (#N/A, #VALEUR!, #REF!…), souvent issue d'une formule. La macro indique son adresse : corrigez la formule ou remplacez-la par sa valeur (Collage spécial › Valeurs), puis relancez.

Mes nombres ou mes dates ont changé de format

Solution : Le classeur est livré tout en texte, mais un collage ou une saisie dans une cellule reformatée peut réintroduire des nombres ou des dates. La macro les convertit en texte de façon prévisible (dates au format AAAA-MM-JJ, nombres avec un point décimal) et vous signale les premières cellules concernées. Pour l'éviter : Collage spécial › Valeurs, et ne changez pas le format des cellules.

Le XML n'a pas le nombre d'éléments attendu

Solution : Chaque ligne de l'onglet « Données » devient un élément, y compris les lignes masquées par un filtre ; seules les lignes entièrement vides sont ignorées. Vérifiez que vos nouvelles lignes sont bien sous les deux lignes d'en-tête, et qu'il ne reste pas en fin de tableau de lignes contenant seulement des espaces ou des restes de copier-coller.

La macro indique que la ligne des libellés a été déplacée

Solution : Un tri a emporté la ligne 2 avec vos données, par exemple après avoir retiré les filtres, ou en triant une sélection de colonnes entières. Le message indique où elle se trouve : coupez cette ligne, puis faites un clic droit sur la ligne 2 › Insérer les cellules coupées, et relancez. Pour trier ensuite, utilisez les flèches de la ligne 2 : les deux lignes d'en-tête restent en place.

Une colonne inattendue apparaît dans le XML

Solution : Un nom technique de la ligne 1 a sans doute été modifié : la macro le traite comme une nouvelle balise et le signale à la fin de la génération. Rétablissez le nom d'origine (vous le retrouvez sur la première ligne du CSV du bundle standard). Pour donner un nom lisible à une colonne, modifiez plutôt son libellé en ligne 2 : il ne change rien au XML.

Mon fichier dépasse la taille maximale de mon forfait

Solution : Envoyez un extrait : quelques lignes qui contiennent au moins un exemple de chaque champ et de chaque type de ligne que vous utilisez (pour un catalogue SFCC : des catégories et des produits, chaque langue). Le classeur reprend la structure de cet extrait. Collez ensuite toutes vos lignes dans l'onglet « Données » (Collage spécial › Valeurs) : la génération du XML se fait dans Excel, sur votre poste, sans limite de taille de notre côté. Seules les limites d'Excel s'appliquent : environ un million de lignes, 16 384 colonnes et 32 767 caractères par cellule. Comptez quelques secondes pour des dizaines de milliers de lignes, davantage sur Mac.

Le classeur est refusé pour un fichier qui commence par ‹!DOCTYPE …›

Solution : Le classeur Excel ne sait pas encore réécrire cette ligne (cXML, ONIX, BMEcat…) : l'aperçu le signale avant tout crédit. Utilisez le mode standard pour ce fichier : il garde la ligne et la réécrit dans le XML reconstruit.

La génération est longue sur un gros fichier

Solution : Sur des dizaines de milliers de lignes, comptez de quelques secondes à quelques minutes selon l'ordinateur (c'est plus long sur Mac). La progression s'affiche dans la barre d'état, en bas de la fenêtre d'Excel : laissez Excel travailler sans cliquer dans le classeur.

Excel propose de réparer le classeur à l'ouverture

Solution : Cela ne devrait pas arriver. Écrivez-nous à support@excelifyxml.com en précisant votre version d'Excel ; en attendant, utilisez le bundle standard. Si le défaut vient du classeur, nous vous recréditons la génération.

Encore bloqué ?

Notre équipe répond sous 24-48h. Vous pouvez aussi tester un autre fichier en attendant.