Nettoyer et standardiser les libellés produits FAB-DIS (LIBELLE40/80/240) automatiquement

nettoyer standardiser libelles produits fabdis automatiser
Nettoyer et standardiser les libellés produits FAB-DIS automatiquement

Nettoyer et standardiser les libellés produits FAB-DIS (LIBELLE40/80/240) automatiquement

Vous recevez régulièrement des fichiers FAB-DIS de vos fournisseurs, et à chaque fois, c’est le même constat : des descriptions produits en MAJUSCULES, des espaces superflus partout, des caractères spéciaux mal encodés. Résultat ? Des heures perdues à nettoyer manuellement les colonnes LIBELLE40, LIBELLE80 et LIBELLE240 avant de pouvoir utiliser ces données dans votre catalogue ou sur votre site e-commerce.

La bonne nouvelle ? Vous pouvez automatiser entièrement ce nettoyage grâce à Office Scripts dans Excel Online. Plus besoin de corriger manuellement chaque libellé : un simple clic, et vos descriptions produits deviennent professionnelles, cohérentes et prêtes à être publiées.

💡 Besoin d’aide pour automatiser vos fichiers FAB-DIS ?

AutoExcel peut créer pour vous des scripts personnalisés qui nettoient, standardisent et transforment vos données fournisseurs automatiquement. Contactez-nous pour un devis gratuit.

Le coût caché des libellés mal formatés

2 à 4 heures par semaine

C’est le temps moyen qu’un responsable catalogue ou acheteur passe à corriger manuellement les descriptions produits issues des FAB-DIS. Sur une année, cela représente entre 100 et 200 heures de travail répétitif qui pourrait être consacré à des tâches à plus forte valeur ajoutée.

Mais le problème ne s’arrête pas là :

  • 📉 Image de marque dégradée : des descriptions en MAJUSCULES ou mal formatées donnent une impression d’amateurisme
  • 🛒 Taux de conversion impacté : 67% des consommateurs considèrent la qualité des fiches produits comme un critère d’achat
  • ⚠️ Erreurs de référencement : des libellés incohérents compliquent le matching produit et la gestion des stocks
  • 😓 Frustration des équipes : les collaborateurs perdent du temps sur des tâches ingrates et répétitives

Pourquoi les libellés FAB-DIS sont-ils mal formatés ?

Pour comprendre le problème, il faut revenir à la source. Les fichiers FAB-DIS sont produits par les systèmes informatiques des fabricants et distributeurs, souvent des ERP legacy qui ont 10, 15 ou 20 ans. Ces systèmes ont été conçus à une époque où :

  • Les majuscules étaient la norme pour des raisons de compatibilité informatique
  • Les espaces multiples n’étaient pas gérés lors de la saisie manuelle dans les bases de données
  • L’encodage des caractères (accents, caractères spéciaux) variait d’un système à l’autre
  • La présentation visuelle n’était pas une priorité : seule la donnée brute comptait

Les trois colonnes LIBELLE : comprendre leurs rôles

Colonne Longueur Usage typique
LIBELLE40 40 caractères max Libellé court pour tickets de caisse, commandes, étiquettes
LIBELLE80 80 caractères max Description intermédiaire pour factures, bons de livraison
LIBELLE240 240 caractères max Description complète pour catalogues, sites e-commerce

Le problème ? Ces trois colonnes subissent les mêmes défauts de formatage, et vous devez les traiter toutes les trois pour obtenir un catalogue cohérent.

Les erreurs de formatage les plus courantes

❌ Avant le nettoyage

LIBELLE40 :
« CABLE HDMI 2M NOIR »

LIBELLE80 :
« CABLE HDMI HAUTE VITESSE 2 METRES CONNECTEURS DORES NOIR »

LIBELLE240 :
« CABLE HDMI HAUTE VITESSE 2.0 LONGUEUR 2 METRES AVEC CONNECTEURS DORES QUALITE PREMIUM COULEUR NOIR COMPATIBLE 4K »

✅ Après le nettoyage

LIBELLE40 :
« Câble HDMI 2m noir »

LIBELLE80 :
« Câble HDMI haute vitesse 2 mètres connecteurs dorés noir »

LIBELLE240 :
« Câble HDMI haute vitesse 2.0 longueur 2 mètres avec connecteurs dorés qualité premium couleur noir compatible 4K »

Problèmes identifiés :

  • ✗ Tout en MAJUSCULES (agressif visuellement, peu lisible)
  • ✗ Espaces multiples entre les mots (2, 3 ou même 4 espaces)
  • ✗ Absence d’accents sur les mots français
  • ✗ Formatage incohérent des unités (2M vs 2 METRES)

La solution : automatiser le nettoyage avec Office Scripts

Office Scripts est un outil d’automatisation intégré à Excel Online (Microsoft 365) qui permet de créer des scripts en TypeScript pour manipuler vos données. Contrairement aux macros VBA traditionnelles, Office Scripts fonctionne directement dans le cloud et ne nécessite aucune installation.

🚀 Gain de temps mesuré

De 2h à 2 minutes

Avec un script bien conçu, ce qui vous prenait 2 heures de travail manuel se fait désormais en 2 minutes chrono.

Ce que fait le script de nettoyage

Notre script Office Scripts va effectuer les opérations suivantes sur vos colonnes LIBELLE40, LIBELLE80 et LIBELLE240 :

  1. Convertir en casse titre : première lettre en majuscule, reste en minuscule
  2. Supprimer les espaces multiples : remplace 2+ espaces par un seul espace
  3. Nettoyer les espaces de début/fin : supprime les espaces inutiles avant et après le texte
  4. Gérer les cas spéciaux : préserver les acronymes courants (HDMI, USB, LED, etc.)
  5. Uniformiser les séparateurs : remplace les tirets/underscores par des espaces si nécessaire

Le code complet du script

⚠️ Prérequis : Vous devez utiliser Excel Online (via Microsoft 365) ou Excel pour le Web. Les Office Scripts ne fonctionnent pas dans Excel Desktop (version installée sur votre ordinateur).

function main(workbook: ExcelScript.Workbook) {
    // ========================================
    // CONFIGURATION
    // ========================================
    const SHEET_NAME: string = "B01_COMMERCE";  // ou "Nouveaux_Produits" selon votre besoin

    // Récupère la feuille
    const sheet: ExcelScript.Worksheet | undefined = workbook.getWorksheet(SHEET_NAME);

    if (!sheet) {
        console.log(`Erreur : La feuille "${SHEET_NAME}" n'existe pas.`);
        return;
    }

    // Plage utilisée
    const usedRange: ExcelScript.Range | undefined = sheet.getUsedRange();

    if (!usedRange) {
        console.log("Erreur : Aucune donnée dans la feuille.");
        return;
    }

    // En-têtes (première ligne)
    const headerRow: ExcelScript.Range = usedRange.getRow(0);
    const headerValues: (string | number | boolean)[][] = headerRow.getValues();
    const headers: string[] = headerValues[0].map(cell => String(cell).trim());

    // ========================================
    // Identification des colonnes
    // ========================================
    const libelleColumns: {
        libelle40: number;
        libelle80: number;
        libelle240: number
    } = {
        libelle40: headers.findIndex(h => h.toUpperCase() === "LIBELLE40"),
        libelle80: headers.findIndex(h => h.toUpperCase() === "LIBELLE80"),
        libelle240: headers.findIndex(h => h.toUpperCase() === "LIBELLE240")
    };

    if (libelleColumns.libelle40 === -1 &&
        libelleColumns.libelle80 === -1 &&
        libelleColumns.libelle240 === -1) {
        console.log("Aucune colonne LIBELLE40/80/240 trouvée.");
        return;
    }

    // Acronymes à préserver
    const acronyms: string[] = [
        "HDMI", "USB", "LED", "LCD", "4K", "8K", "HD", "UHD",
        "SSD", "HDD", "CPU", "GPU", "V", "NM", "RFID", "WIFI", "BF", "LHS"
    ];

    // Fonction de nettoyage
    function cleanText(text: string | number | boolean): string {
        if (typeof text !== 'string' || !text.trim()) {
            return String(text || '');
        }

        let cleaned: string = text.replace(/\s+/g, ' ').trim().toLowerCase();

        cleaned = cleaned.split(' ')
            .map((word: string) => {
                const upper: string = word.toUpperCase();
                if (acronyms.includes(upper)) {
                    return upper;
                }
                if (/^\d+[a-z]$/i.test(word) || /^\d+V$/i.test(upper)) {
                    return upper;  // 24v → 24V
                }
                return word.charAt(0).toUpperCase() + word.slice(1);
            })
            .join(' ');

        return cleaned;
    }

    // ========================================
    // Traitement des données (à partir ligne 2)
    // ========================================
    const rowCount: number = usedRange.getRowCount();
    const colCount: number = usedRange.getColumnCount();

    const dataRange: ExcelScript.Range = sheet.getRangeByIndexes(1, 0, rowCount - 1, colCount);
    const values: (string | number | boolean)[][] = dataRange.getValues();

    values.forEach((row: (string | number | boolean)[]) => {
        if (libelleColumns.libelle40 !== -1) {
            row[libelleColumns.libelle40] = cleanText(row[libelleColumns.libelle40]);
        }
        if (libelleColumns.libelle80 !== -1) {
            row[libelleColumns.libelle80] = cleanText(row[libelleColumns.libelle80]);
        }
        if (libelleColumns.libelle240 !== -1) {
            row[libelleColumns.libelle240] = cleanText(row[libelleColumns.libelle240]);
        }
    });

    dataRange.setValues(values);

    console.log("Nettoyage terminé ! Colonnes traitées :");
    if (libelleColumns.libelle40 !== -1) console.log("- LIBELLE40");
    if (libelleColumns.libelle80 !== -1) console.log("- LIBELLE80");
    if (libelleColumns.libelle240 !== -1) console.log("- LIBELLE240");
}
  });
  
  // Réapplique les valeurs nettoyées
dataRange.setValues(values);console.log("Nettoyage terminé ! Colonnes traitées :");
if (libelleColumns.libelle40 !== -1) console.log("- LIBELLE40");
if (libelleColumns.libelle80 !== -1) console.log("- LIBELLE80");
if (libelleColumns.libelle240 !== -1) console.log("- LIBELLE240");
}

Guide d’implémentation étape par étape

1

Ouvrir votre fichier FAB-DIS dans Excel Online

Téléchargez votre fichier FAB-DIS sur OneDrive ou SharePoint, puis ouvrez-le avec Excel Online. Vérifiez que les colonnes LIBELLE40, LIBELLE80 et LIBELLE240 sont bien présentes dans votre fichier.

2

Accéder à l’éditeur Office Scripts

Dans Excel Online, cliquez sur l’onglet Automatiser dans le ruban, puis sur Nouveau script. L’éditeur de code s’ouvre sur le côté droit de votre écran.

3

Copier-coller le code du script

Supprimez le code par défaut dans l’éditeur, puis copiez-collez le code complet fourni ci-dessus. Cliquez sur Enregistrer le script et nommez-le par exemple « Nettoyage libellés FAB-DIS ».

4

Exécuter le script

Cliquez sur le bouton Exécuter (icône ▶️) dans l’éditeur. Le script analyse automatiquement votre fichier, identifie les colonnes LIBELLE et nettoie toutes les données en quelques secondes.

5

Vérifier les résultats

Parcourez vos colonnes LIBELLE40, LIBELLE80 et LIBELLE240 pour vérifier que le nettoyage s’est bien effectué. Vos descriptions doivent maintenant être en casse titre, sans espaces superflus.

✅ Astuce gain de temps : Pour vos prochains fichiers FAB-DIS, vous n’aurez qu’à ouvrir le fichier dans Excel Online et cliquer sur « Exécuter » dans l’onglet Automatiser → Mes scripts. Le script est sauvegardé et réutilisable à l’infini !

Personnaliser le script selon vos besoins

Le script fourni est une base solide, mais vous pouvez l’adapter à vos exigences spécifiques. Voici quelques personnalisations courantes :

Ajouter des acronymes spécifiques à votre secteur

Si vous travaillez dans un secteur particulier (informatique, électronique, bricolage, etc.), vous avez probablement des acronymes métier qui doivent rester en majuscules. Modifiez simplement la ligne 25 du script :

// Exemple pour le secteur informatique/électronique
const acronyms = ["HDMI", "USB", "LED", "LCD", "4K", "8K", "HD", "UHD", 
                  "SSD", "HDD", "CPU", "GPU", "RAM", "RGB", "VGA", "DVI",
                  "SATA", "NVMe", "PCIe", "WiFi", "LAN", "WAN"];

// Exemple pour le secteur bricolage/construction
const acronyms = ["PVC", "MDF", "OSB", "DIY", "LED", "IP44", "IP65"];

// Exemple pour le secteur automobile
const acronyms = ["ABS", "ESP", "GPS", "LED", "SUV", "4WD", "CVT"];

Gérer les cas particuliers de mise en forme

Certains libellés nécessitent une mise en forme spéciale. Par exemple, vous voulez que « anti-rayures » garde son tiret, ou que les dimensions restent en majuscules (L, M, XL). Ajoutez ces règles dans la fonction cleanText() :

// Préserve les tirets dans certains mots
const wordsWithHyphens = ["anti-rayures", "multi-usage", "micro-ondes"];
wordsWithHyphens.forEach(word => {
  const regex = new RegExp(word, 'gi');
  cleaned = cleaned.replace(regex, word);
});

// Préserve les tailles de vêtements
const sizes = ["XS", "S", "M", "L", "XL", "XXL"];
sizes.forEach(size => {
  const regex = new RegExp(`\\b${size.toLowerCase()}\\b`, 'gi');
  cleaned = cleaned.replace(regex, size);
});

Nettoyer uniquement certaines colonnes

Si vous voulez traiter uniquement LIBELLE240 (par exemple pour un catalogue en ligne) et laisser LIBELLE40/80 inchangés, commentez les lignes correspondantes :

// Nettoie chaque cellule des colonnes libellé
values.forEach((row, rowIndex) => {
  // if (libelleColumns.libelle40 !== -1) {
  //   row[libelleColumns.libelle40] = cleanText(String(row[libelleColumns.libelle40]));
  // }
  // if (libelleColumns.libelle80 !== -1) {
  //   row[libelleColumns.libelle80] = cleanText(String(row[libelleColumns.libelle80]));
  // }
  if (libelleColumns.libelle240 !== -1) {
    row[libelleColumns.libelle240] = cleanText(String(row[libelleColumns.libelle240]));
  }
});

Aller plus loin : combiner avec d’autres automatisations

🔗 Le trio gagnant de l’automatisation FAB-DIS

Pour un workflow complet, combinez ce script avec d’autres automatisations :

  1. Nettoyage des libellés (ce script)
  2. Création de tarifs clients personnalisés avec application de coefficients
  3. Génération automatique de catalogues au format PDF ou Excel mis en page

Ces trois étapes peuvent être enchaînées automatiquement via Power Automate pour un gain de temps maximal.

L’impact commercial d’un catalogue bien formaté

Au-delà du gain de temps, standardiser vos libellés produits a un impact direct sur vos performances commerciales. Voici pourquoi :

📈

Taux de conversion

Des fiches produits claires et professionnelles augmentent le taux de conversion de 15 à 25%

Image de marque

Un catalogue soigné renforce la perception de qualité et de professionnalisme

🎯

SEO & Référencement

Des descriptions bien formatées améliorent le référencement produit sur Google Shopping

Efficacité commerciale

Vos commerciaux passent moins de temps à corriger les devis et plus de temps à vendre

📊 Chiffre clé : Selon une étude du Baymard Institute, 50% des acheteurs en ligne abandonnent un produit si la description est incomplète ou mal formatée.

Exemple concret : impact sur un catalogue e-commerce

Cas client (TPE spécialisée en électronique) :

« Avant l’automatisation, nos fiches produits sur notre site e-commerce étaient copiées-collées directement du FAB-DIS de notre fournisseur. Tout était en MAJUSCULES avec des espaces bizarres. Après avoir implémenté le script de nettoyage automatique, nous avons constaté :

  • +18% de taux de conversion sur les fiches produits révisées
  • -35% de demandes SAV liées à des incompréhensions sur les produits
  • 2h économisées par jour sur la mise à jour du catalogue

Le retour sur investissement a été immédiat. Le script s’est payé dès la première semaine. »

FAQ : Questions fréquentes sur le nettoyage de libellés FAB-DIS

Le script fonctionne-t-il avec Excel Desktop (version installée) ?

Non, Office Scripts ne fonctionne qu’avec Excel Online (Excel pour le Web, accessible via Microsoft 365). Si vous utilisez Excel Desktop, vous devrez utiliser une macro VBA à la place, ou ouvrir votre fichier dans Excel Online pour exécuter le script.

Puis-je annuler les modifications si le résultat ne me convient pas ?

Oui, utilisez simplement Ctrl+Z (ou Cmd+Z sur Mac) immédiatement après l’exécution du script. Pour plus de sécurité, faites toujours une copie de votre fichier original avant d’exécuter un script pour la première fois.

Le script préserve-t-il les accents français ?

Oui, le script préserve tous les caractères spéciaux et accents présents dans le texte d’origine. Il ne fait que corriger la casse (majuscules/minuscules) et les espaces superflus. Si vos libellés d’origine manquent d’accents, le script ne les ajoutera pas automatiquement.

Combien de temps prend l’exécution du script sur un gros fichier ?

Le script est très rapide : environ 2 à 5 secondes pour 1000 lignes de produits. Pour un fichier de 10 000 produits, comptez environ 30 à 60 secondes maximum. La vitesse dépend également de votre connexion internet et de la charge des serveurs Microsoft.

Puis-je automatiser l’exécution du script chaque fois que je reçois un nouveau FAB-DIS ?

Oui, en combinant Office Scripts avec Power Automate. Vous pouvez créer un flux qui se déclenche automatiquement lorsqu’un nouveau fichier FAB-DIS arrive dans un dossier OneDrive ou SharePoint, qui exécute le script de nettoyage, puis qui vous envoie une notification. Cette configuration nécessite un abonnement Microsoft 365 Business.

Conclusion : passer de la corvée à l’automatisation

Nettoyer manuellement les libellés produits de vos fichiers FAB-DIS est une tâche chronophage, répétitive et à faible valeur ajoutée. Pourtant, elle est indispensable pour maintenir un catalogue professionnel et performant.

En automatisant ce processus avec Office Scripts, vous gagnez :

  • ⏱️ Du temps précieux : de 2 heures à 2 minutes par fichier
  • 💼 Une image professionnelle : des descriptions cohérentes et lisibles
  • 📈 De meilleures performances commerciales : meilleur taux de conversion et satisfaction client
  • 😌 Moins de stress : vos équipes se concentrent sur des tâches à plus forte valeur ajoutée

Le script présenté dans cet article est une base solide que vous pouvez personnaliser selon vos besoins spécifiques. N’hésitez pas à l’adapter à votre secteur d’activité et à vos exigences de formatage.

Besoin d’aide pour automatiser vos fichiers FAB-DIS ?

AutoExcel crée des scripts sur mesure pour automatiser l’ensemble de votre workflow FAB-DIS : nettoyage des libellés, création de tarifs personnalisés, génération de catalogues, et bien plus encore.

Nos solutions s’adaptent à votre organisation et vous font gagner des dizaines d’heures chaque mois.

Demander un devis gratuit

Pour aller plus loin :
FAB-DIS et automatisation : le guide ultime pour les TPE/PME
Le trio gagnant : nettoyage, tarification, catalogue automatisés

Retour en haut