- Les exports de logiciels comportent presque toujours des espaces parasites, des nombres stockés en texte, des dates non reconnues et des doublons qui faussent les formules.
- Les fonctions de base suffisent : SUPPRESPACE, SUBSTITUE, CNUM, DATEVAL, NOMPROPRE, GAUCHE/DROITE/STXT, plus Données > Supprimer les doublons.
- Le principe : ne jamais écraser la donnée brute ; construire des colonnes nettoyées à côté, puis les figer en valeurs.
- Pour des imports récurrents, Power Query mémorise les étapes de nettoyage et les rejoue à chaque actualisation.
Votre logiciel de paie ou de facturation exporte un fichier Excel. Vous y appliquez une somme : résultat zéro. Une recherche : #N/A. Les causes sont presque toujours les mêmes : des espaces invisibles, des montants stockés comme du texte, des dates non reconnues, des doublons. Ce tutoriel donne la méthode et les formules pour nettoyer un export en quelques minutes.
Règle d’or : ne jamais toucher aux données brutes
Gardez la feuille d’import intacte. Créez à droite des colonnes de nettoyage, vérifiez-les, puis collez les valeurs. En cas d’erreur, vous pouvez recommencer.
Les quatre défauts les plus fréquents
| Défaut | Symptôme | Fonction |
|---|---|---|
| Espaces parasites | Une recherche ne trouve pas « Facture F-0231 » | SUPPRESPACE |
| Montant en texte | Alignement à gauche, somme nulle | CNUM, SUBSTITUE |
| Date en texte | Tri alphabétique, impossible de grouper | DATE, DATEVAL |
| Doublons | Totaux gonflés | Données > Supprimer les doublons |
Nettoyer les espaces
SUPPRESPACE supprime les espaces au début et à la fin, et réduit les espaces multiples à un seul :
=SUPPRESPACE(B2)
Si le texte contient un espace insécable (fréquent dans les exports web) :
=SUPPRESPACE(SUBSTITUE(B2;CAR(160);" "))
Pour normaliser la casse : =NOMPROPRE(SUPPRESPACE(B2)) met une majuscule à chaque mot (« Virement CLIENT alpha » devient « Virement Client Alpha »). MAJUSCULE et MINUSCULE existent aussi.
Convertir un montant texte en nombre
Un montant importé comme « 12 450,00 » (avec espace de milliers) est du texte. Il faut supprimer les espaces et, selon les réglages régionaux, remplacer la virgule :
=CNUM(SUBSTITUE(SUBSTITUE(C2;" ";"");",";"."))
Figure 1 : à gauche les données brutes (repère 1), à droite le montant converti (repère 2) et le libellé nettoyé (repère 3).
Selon que votre Excel utilise la virgule ou le point comme séparateur décimal, adaptez : en configuration française, =CNUM(SUBSTITUE(C2;" ";"")) suffit si la virgule est déjà le séparateur décimal.
Alternative rapide sans formule : sélectionnez la colonne > Données > Convertir > Terminer. Excel retraite le contenu et le reconnaît comme nombre (selon la configuration régionale).
Convertir une date texte
Pour « 2026-03-05 » (format ISO) :
=DATE(GAUCHE(A2;4);STXT(A2;6;2);DROITE(A2;2))
GAUCHE prend l’année, STXT extrait le mois (à partir du 6e caractère), DROITE le jour. Appliquez ensuite le format de date voulu. Pour « 05/03/2026 » reçue comme texte avec un séparateur différent, la même logique s’applique en extrayant les trois parties. DATEVAL convertit directement un texte reconnaissable par la configuration régionale.
Extraire une partie d’un texte
Un libellé du type « 6111 - Achats de marchandises » :
| Besoin | Formule |
|---|---|
| Numéro de compte | =GAUCHE(A2;4) |
| Intitulé seul | =DROITE(A2;NBCAR(A2)-7) |
| Texte entre deux tirets | =STXT(A2;TROUVE("-";A2)+2;100) |
| Séparer en colonnes sans formule | Données > Convertir (délimité par « - ») |
Les formes de montants à traiter
Les exports ne se ressemblent pas. Voici les cas les plus fréquents et la formule qui convient (colonne source en C2) :
| Forme dans l’export | Exemple | Formule |
|---|---|---|
| Espace de milliers classique | 12 450,00 |
=CNUM(SUBSTITUE(C2;" ";"")) |
| Espace insécable | 12 450,00 (caractère 160) |
=CNUM(SUBSTITUE(C2;CAR(160);"")) |
| Espace fin insécable (exports récents) | 12 450,00 (caractère 8239) |
=CNUM(SUBSTITUE(C2;UNICAR(8239);"")) |
| Suffixe monétaire | 12450,00 DH |
=CNUM(SUBSTITUE(SUBSTITUE(C2;" DH";"");" ";"")) |
| Négatif entre parenthèses | (1 250,00) |
=-CNUM(SUBSTITUE(SUBSTITUE(SUBSTITUE(C2;"(";"");")";"");" ";"")) |
| Signe moins en fin | 1250,00- |
=SI(DROITE(C2;1)="-";-CNUM(GAUCHE(C2;NBCAR(C2)-1));CNUM(C2)) |
| Point comme séparateur décimal | 12450.00 |
=CNUM(SUBSTITUE(C2;".";",")) en configuration française |
Pour combiner plusieurs cas dans un même fichier, enchaînez les SUBSTITUE : =CNUM(SUBSTITUE(SUBSTITUE(SUBSTITUE(C2;" ";"");CAR(160);"");UNICAR(8239);"")).
Un exercice complet sur cinq lignes
Un export de grand livre fournisseurs, avant nettoyage :
| Compte | Libellé | Montant | Date |
|---|---|---|---|
4411 |
facture alpha SARL |
12 450,00 |
2026-03-05 |
4411 |
FACTURE BETA |
(3 200,00) |
2026-03-07 |
4411 |
facture gamma |
8 000,00 |
2026-03-07 |
4411 |
facture gamma |
8 000,00 |
2026-03-07 |
4417 |
FNP delta |
5 500,00 |
2026-03-31 |
Après nettoyage (colonnes à droite, puis collées en valeurs) :
| Compte | Libellé nettoyé | Montant (nombre) | Date (vraie date) | Remarque |
|---|---|---|---|---|
| 4411 | Facture Alpha Sarl | 12 450,00 | 05/03/2026 | Espaces corrigés |
| 4411 | Facture Beta | −3 200,00 | 07/03/2026 | Négatif converti |
| 4411 | Facture Gamma | 8 000,00 | 07/03/2026 | Doublon à examiner |
| 4411 | Facture Gamma | 8 000,00 | 07/03/2026 | Même facture saisie deux fois ? |
| 4417 | Fnp Delta | 5 500,00 | 31/03/2026 | Facture non parvenue |
Les formules utilisées : =SUPPRESPACE(A2) pour le compte, =NOMPROPRE(SUPPRESPACE(B2)) pour le libellé, la formule des parenthèses pour le négatif, et =DATE(GAUCHE(D2;4);STXT(D2;6;2);DROITE(D2;2)) pour la date. Les deux lignes « Gamma » sont signalées par =NB.SI.ENS($B$2:$B$6;B2;$C$2:$C$6;C2;$D$2:$D$6;D2)>1 : on vérifie avant de supprimer, car deux factures légitimes peuvent avoir le même montant le même jour.
Contrôle : somme des montants nettoyés = 12 450 − 3 200 + 8 000 + 8 000 + 5 500 = 30 750 ; le logiciel source doit afficher la même somme (avec le négatif).
Power Query pas à pas
Pour un import mensuel, la méthode recommandée est Power Query. Ses étapes se lisent dans l’éditeur avancé ; voici l’équivalent du nettoyage ci-dessus (adaptez le chemin et les noms de colonnes) :
let
Source = Excel.Workbook(File.Contents("C:\Imports\grand-livre.xlsx"), null, true),
Feuille = Source{[Item = "Fournisseurs", Kind = "Sheet"]}[Data],
Entetes = Table.PromoteHeaders(Feuille, [PromoteAllScalars = true]),
Libelles = Table.TransformColumns(Entetes, {{"Libellé", Text.Trim, type text}, {"Compte", Text.Trim, type text}}),
Types = Table.TransformColumnTypes(Libelles, {{"Montant", type number}, {"Date", type date}}, "fr-FR"),
SansDoublons = Table.Distinct(Types, {"Libellé", "Montant", "Date"})
in
SansDoublons
Dans l’interface, les mêmes opérations se font par clics : Données > Obtenir des données > À partir d’un fichier, puis Transformer : promouvoir la première ligne en en-têtes, Format > Supprimer les espaces, changer le type des colonnes en précisant la région (France), et Supprimer les doublons sur les colonnes choisies. Chaque mois, il suffit de remplacer le fichier source et de cliquer sur Actualiser tout.
Attention : Table.Distinct supprime ici les doublons sans les montrer. Pour les repérer d’abord, ajoutez une colonne de comptage (Grouper par) ou chargez le résultat et la liste des doublons dans deux feuilles séparées.
Supprimer les doublons
Sélectionnez la plage > Données > Supprimer les doublons > cochez les colonnes qui définissent un doublon (par exemple N° de facture + Montant). Attention : l’action est définitive ; travaillez sur une copie. Pour repérer sans supprimer, utilisez la mise en forme conditionnelle > Valeurs en double, ou =NB.SI($A$2:$A$500;A2)>1.
Gérer les erreurs
| Erreur | Cause | Solution |
|---|---|---|
#VALEUR! |
Texte non convertible (lettre dans un montant) | SIERREUR(CNUM(...);0) et contrôle visuel |
#N/A |
Valeur absente dans la table de recherche | Nettoyer les clés, SIERREUR |
### |
Colonne trop étroite | Élargir la colonne |
| Résultat 0 | Nombre stocké en texte | CNUM ou Convertir |
Aller vers l’automatisation : Power Query
Pour les imports mensuels (balance, relevé bancaire), Power Query (onglet Données > Obtenir des données) enregistre chaque étape de nettoyage : suppression d’espaces, conversion de types, filtre, renommage. À l’import suivant, un clic sur Actualiser rejoue tout. Aucune formule à recopier, et des milliers de lignes se traitent sans ralentir le fichier.
Dix cas de données sales et la formule qui les corrige
Voici un catalogue de défauts rencontrés dans les exports de logiciels, de banques et de fichiers clients, avec la formule (en cellule B2, donnée brute en A2) qui les traite.
| Donnée brute (A2) | Problème | Formule de nettoyage | Résultat |
|---|---|---|---|
Atlas Distribution |
Espaces en trop | =SUPPRESPACE(A2) |
Atlas Distribution |
ATLAS distribution |
Casse incohérente | =NOMPROPRE(SUPPRESPACE(A2)) |
Atlas Distribution |
12 345,50 (texte) |
Montant en texte avec espace insécable | =CNUM(SUBSTITUE(SUBSTITUE(A2;CAR(160);"");" ";"")) |
12345,5 |
12.345,50 |
Séparateur de milliers en point | =CNUM(SUBSTITUE(SUBSTITUE(A2;".";"");",";",")) |
12345,5 |
(1 250,00) |
Négatif entre parenthèses | =-CNUM(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A2;"(";"");")";"");" ";"");",";",")) |
−1250 |
2026-03-14 ou 14/03/2026 en texte |
Date en texte | =DATEVAL(A2) ou =DATE(DROITE(A2;4);STXT(A2;4;2);GAUCHE(A2;2)) |
14/03/2026 |
5141 (nombre) et "5141" (texte) |
Types mixtes | =TEXTE(A2;"0") |
5141 |
0001234 |
Zéros initiaux perdus | =TEXTE(A2;"0000000") |
0001234 |
RIB 007 780 0001234567890123 45 |
Séparateurs dans un identifiant | =SUBSTITUE(A2;" ";"") |
RIB sans espaces |
Facture n° F-2026-014 / Atlas |
Plusieurs informations dans une cellule | =STXT(A2;TROUVE("F-";A2);10) |
F-2026-014 |
Appliquez chaque formule dans une colonne à côté de la donnée brute, puis copiez-collez les valeurs dans la feuille de travail. La donnée brute reste intacte, ce qui permet de refaire ou de justifier le nettoyage.
Fusionner plusieurs fichiers avec Power Query
Un dossier contient douze relevés mensuels (CSV) de même structure. Power Query les combine automatiquement :
- Données > Obtenir des données > À partir d’un fichier > À partir d’un dossier, choisir le dossier.
- Combiner > Combiner et transformer : Power Query lit le premier fichier comme modèle et applique les mêmes étapes aux autres.
- Dans l’éditeur : Utiliser la première ligne comme en-têtes, définir le type de chaque colonne (date, texte, nombre décimal avec les paramètres régionaux français), supprimer les lignes vides et les totaux intermédiaires.
- Fractionner une colonne composée (par un délimiteur) et Supprimer les doublons.
- Fermer et charger dans une table Excel.
À chaque nouveau relevé déposé dans le dossier, Données > Actualiser tout met la table à jour. Un fichier traité manuellement en trois heures chaque mois l’est en trois minutes.
Contrôles de cohérence après nettoyage
| Contrôle | Formule | Attendu |
|---|---|---|
| Nombre de lignes brutes = nombre de lignes nettoyées | =NBVAL(Brut[Libellé])-NBVAL(Net[Libellé]) |
0 |
| Total des débits et crédits identique avant et après | =SOMME(Brut[Montant])-SOMME(Net[Montant]) |
0 |
| Aucune cellule de date non convertie | =NB.SI(Net[Date];"") ou test ESTNUM |
0 |
| Aucun doublon de clé | =NB.SI.ENS(Net[Numéro];Net[@Numéro];Net[Date];Net[@Date])>1 |
FAUX partout |
| Dates dans l’intervalle de l’exercice | =ET(Net[@Date]>=DateDébut;Net[@Date]<=DateFin) |
VRAI partout |
| Comptes présents au plan comptable | =NB.SI(Plan[Compte];Net[@Compte])=1 |
VRAI partout |
Ces contrôles prennent une minute et évitent d’importer en comptabilité un fichier qui introduirait un écart.
Préparer un fichier d’import comptable
Beaucoup de logiciels acceptent l’import d’écritures depuis un fichier CSV ou Excel. Le fichier doit respecter un format strict :
| Colonne | Contenu | Règle |
|---|---|---|
| Date | Date de l’écriture | Format jj/mm/aaaa, dans l’exercice ouvert |
| Journal | Code du journal | Existant dans le logiciel |
| Compte | Numéro de compte | Texte, existant au plan comptable |
| Libellé | Description | Sans retour à la ligne |
| Pièce | Référence de la pièce justificative | Obligatoire |
| Débit | Montant débiteur | Nombre, point ou virgule selon le logiciel |
| Crédit | Montant créditeur | Idem |
La contrainte la plus importante : chaque écriture est équilibrée (total débit = total crédit). Une colonne de contrôle =SOMME.SI(Pièce;[@Pièce];Débit)-SOMME.SI(Pièce;[@Pièce];Crédit) vérifie l’équilibre par pièce. Avant l’import définitif, faites toujours un essai sur une copie de la base ou un exercice test.
Contrôles après nettoyage
- Le nombre de lignes avant/après est cohérent (hors doublons supprimés).
- La somme des montants nettoyés égale celle du logiciel source.
- Aucune cellule d’erreur (
NB.SI.ENSsur ESTERREUR). - Les dates sont triables et couvrent la bonne période.
- Les clés de recherche trouvent bien leurs correspondances.
Fiche pratique : les dix fonctions du nettoyage
| Fonction | Usage |
|---|---|
SUPPRESPACE |
Supprimer les espaces en trop |
NOMPROPRE, MAJUSCULE, MINUSCULE |
Uniformiser la casse |
SUBSTITUE |
Remplacer un caractère (point par rien, espace insécable) |
CNUM |
Convertir un texte en nombre |
DATEVAL ou DATE |
Convertir un texte en date |
TEXTE |
Imposer un format (zéros initiaux, comptes en texte) |
GAUCHE, DROITE, STXT |
Extraire une partie de texte |
TROUVE |
Repérer la position d’un séparateur |
NB.SI.ENS |
Détecter les doublons |
SIERREUR |
Gérer les erreurs de conversion |
Cinq réflexes :
- Ne jamais modifier la donnée brute : travailler dans des colonnes voisines.
- Contrôler les totaux avant et après nettoyage.
- Automatiser les imports récurrents avec Power Query.
- Documenter chaque étape dans un onglet de notes.
- Tester sur une copie avant d’importer en comptabilité.
Cas particuliers et situations limites
Le fichier contient des caractères spéciaux (accents mal encodés). L’import CSV doit se faire en précisant l’encodage (UTF-8 ou ANSI) ; Power Query propose le choix de l’origine du fichier.
Les montants contiennent des symboles de devise (« MAD », « DH »). Retirer le symbole avec SUBSTITUE avant CNUM ; utiliser une colonne de devise séparée si plusieurs devises coexistent.
Les libellés sont tronqués par le logiciel d’export. Récupérer le champ complet à la source plutôt que de tenter de reconstituer ; un libellé tronqué dans un justificatif est un risque de mauvaise imputation.
Les lignes de sous-totaux sont mélangées aux données. Les filtrer avec une colonne de test (=NON(ESTTEXTE(...))) ou dans Power Query avant tout calcul.
Plusieurs personnes nettoient le même fichier. Centraliser les règles dans une requête Power Query unique et partagée pour garantir un résultat identique.
En résumé
Conserver la donnée brute, nettoyer dans des colonnes voisines, contrôler les totaux avant et après, automatiser avec Power Query les imports récurrents, documenter les étapes et tester sur une copie avant tout import en comptabilité.
Questions fréquentes
Comment savoir si un nombre est du texte ?
Il est aligné à gauche par défaut, un petit triangle vert apparaît dans la cellule, et la formule =ESTNUM(A2) renvoie FAUX. La somme de la colonne reste à zéro ou ignore ces cellules.
L’espace insécable résiste à SUPPRESPACE. Que faire ?
Les exports web et certains logiciels utilisent un espace insécable (caractère 160). Remplacez-le : =SUBSTITUE(A2;CAR(160);" ") puis appliquez SUPPRESPACE.
Mes dates sont lues au format américain. Comment les convertir ?
Si le texte est du type 2026-03-05, =DATE(GAUCHE(A2;4);STXT(A2;6;2);DROITE(A2;2)) construit une vraie date. Pour 05/03/2026 interprétée comme texte, utilisez DATEVAL après avoir réordonné les parties.
Doit-on garder les formules de nettoyage ?
Pour un fichier ponctuel, copiez les colonnes nettoyées et collez-les en valeurs (Collage spécial > Valeurs), puis supprimez les colonnes brutes. Pour un import répété, conservez les formules ou, mieux, utilisez Power Query.
Articles rédigés par l’équipe du cabinet à partir des textes officiels et de la pratique des missions. Chaque article indique sa date de publication et, le cas échéant, de dernière revue.