Les noms de colonnes ne sont pas le vrai problème. Excel ne fait que vous en montrer le symptôme. Le vrai problème, c'est que les deux fichiers CSV bancaires ne s'accordent pas sur le rôle des champs, la base de date et la structure des montants. Une colonne nommée Date dans un fichier ne désigne donc pas forcément la même chose que Value Date ou Txn Date dans l'autre.
La méthode sûre pour comparer deux fichiers CSV bancaires aux noms de colonnes différents : attribuez à chaque colonne un rôle selon sa fonction, normalisez les dates et les montants dans le même format de stockage, et seulement ensuite rapprochez les lignes avec la clé la plus solide que les fichiers permettent. Si vous commencez par comparer les en-têtes et laissez le modèle de données pour plus tard, c'est le fichier qui « semble assez proche » qui vous fait perdre l'après-midi.
Lisez l'écart avant de renommer quoi que ce soit
Avant de modifier un en-tête ou de construire une recherche, identifiez ce que chaque fichier stocke réellement. Une même opération peut paraître alignée à l'écran et échouer au rapprochement parce qu'un export a enregistré la valeur en texte, utilisé une autre base de date ou réparti les débits et les crédits sur deux colonnes.
| Ce que vous voyez à l'écran | Ce que stocke le fichier A | Ce que stocke le fichier B | Résultat au rapprochement |
|---|---|---|---|
05/01/2026 dans les deux fichiers | Txn Date est du texte au format dd/mm/yyyy | Date est un vrai numéro de série Excel affiché en mm/dd/yyyy | Identiques à l'écran, mais les dates sous-jacentes diffèrent |
125.40 apparaît dans les deux fichiers | La colonne Debit stocke 125.40 en texte | La colonne Amount stocke -125.40 en nombre signé | Le rapprochement échoue : un fichier isole le débit dans sa colonne, l'autre travaille en montants signés |
Salary Payment semble identique | Description contient un espace en fin de texte | Narration stocke un texte propre | Le rapprochement sur le libellé échoue alors que les mots paraissent identiques |
1,250.00 apparaît dans les deux fichiers | Amount est du texte avec des virgules | Amount est un nombre | La recherche les traite comme deux valeurs différentes |
31/03/2026 et 01/04/2026 pour le même paiement | Value Date correspond à la date de règlement | Txn Date correspond à la date d'opération | La même opération apparaît comme un décalage de date, pas comme une ligne manquante |
Bank Ref n'existe que dans un fichier | Un export conserve une référence bancaire | L'autre n'a que le libellé et le montant | Le rapprochement par date et montant s'affaiblit et les doublons deviennent plus durs à trancher |
Ce tableau vous dit si le problème vient du nom, du stockage ou du moment de l'opération. Ce ne sont pas les mêmes corrections.
Pour un diagnostic rapide, vérifiez le type de la cellule brute avant de comparer les valeurs :
=TYPE(B2)renvoie1quand Excel a stocké un nombre.=TYPE(B2)renvoie2quand Excel a stocké du texte.
Cela compte plus que le format affiché à l'écran. Une date qui semble correcte mais renvoie 2 reste du texte. Un nombre qui ressemble à 1,250.00 mais renvoie 2 ne se comportera pas comme un vrai montant.
Déterminez quelles colonnes font le même travail
Les exports bancaires renomment le même champ en permanence. Cela ne rend pas les fichiers incompatibles. Cela veut dire qu'il vous faut une grille de rôles avant la moindre formule.
| Rôle dans la comparaison | Noms d'en-tête courants | Bon pour un rapprochement direct ? | Points de vigilance |
|---|---|---|---|
| Date d'opération | Date, Txn Date, Transaction Date | Oui, si les deux fichiers utilisent la même base de date | Une banque peut retenir la date d'initiation, l'autre la date de comptabilisation |
| Date de règlement | Value Date, Posted Date, Booking Date | Oui, si les deux fichiers traduisent le moment du mouvement de trésorerie | Diffère souvent de la date d'opération d'un jour ou plus |
| Montant signé | Amount, Net Amount | Oui | Vérifiez que les valeurs négatives représentent bien des débits dans les deux fichiers |
| Montants séparés | Debit, Credit, Withdrawal, Deposit | Pas directement | Ramenez-les d'abord à une seule règle de montant signé |
| Référence | Reference, Bank Ref, Transaction ID, Cheque No | La meilleure clé directe quand elle figure dans les deux fichiers | Certaines banques la tronquent ou l'omettent dans l'export CSV |
| Libellé | Description, Narration, Details, Memo | En appui, jamais pour le premier passage | Le texte du commerçant est souvent abrégé différemment |
| Solde | Balance, Running Balance, Ledger Balance | Non | Utile pour la revue, pas comme clé primaire |
La vraie question n'est pas « quels en-têtes se ressemblent ? ». C'est « quelles colonnes désignent la même chose dans le travail ? ».
Date et Value Date ne sont pas interchangeables tant que vous n'avez pas confirmé que les deux fichiers suivent la même horloge. Amount et Debit ne le sont pas tant que vous ne les avez pas convertis à la même convention de signe. Description et Narration aident à examiner les exceptions, mais ce sont des clés faibles pour le premier passage : les banques abrègent le texte du commerçant différemment.
Quand les fichiers viennent de deux banques différentes, ou qu'un export bancaire est comparé à l'export d'un système comptable, commencez par bâtir une grille de rôles comme le tableau ci-dessus. Une fois les rôles posés, les en-têtes cessent d'être l'obstacle.
Normalisez les dates avant de comparer les lignes
Les colonnes de dates créent plus de faux écarts que les noms de colonnes. Un fichier stocke de vraies dates. L'autre du texte. L'un parle de date d'opération. L'autre de date de règlement. Ignorez cette distinction et vous passerez du temps à enquêter sur des écarts déjà explicables.
Commencez par le problème de stockage.
Si le fichier A contient une date texte au format dd/mm/yyyy, convertissez-la directement par formule avant de rapprocher :
=DATE(DROITE(B2,4),STXT(B2,4,2),GAUCHE(B2,2))
Si le fichier A contient une date texte au format mm/dd/yyyy, utilisez :
=DATE(DROITE(B2,4),GAUCHE(B2,2),STXT(B2,4,2))
Ces formules extraient les composantes directement. Elles ne comptent pas sur Excel pour deviner le sens du texte. C'est plus sûr que DATEVAL quand le format de la source est irrégulier.
Méfiez-vous des valeurs ambiguës comme 01/05/2026. Cette chaîne peut signifier le 5 janvier ou le 1er mai selon l'export. Ne la convertissez pas tant que vous ignorez la convention de la source. Les vérifications les plus rapides :
- Cherchez une date dont la première composante dépasse 12. Si vous tombez sur
31/03/2026, le fichier place le jour en premier. - Comparez quelques lignes au relevé PDF ou au système source.
- Regardez si l'en-tête lui-même donne un indice de timing.
Value DateetPosting Datedécrivent souvent le moment du règlement, pas celui de l'achat.
Traitez ensuite le problème de sens.
Si un fichier utilise Txn Date et l'autre Value Date, rapprocher chaque ligne sur la seule date est une mauvaise règle. Un paiement par carte effectué tard le 31 mars peut se régler le 1er avril. Ce n'est pas une opération manquante. C'est un décalage de date. Votre comparaison doit en tenir compte : utilisez une clé plus solide que la date seule, ou regroupez ces lignes dans une catégorie d'exceptions à part.
Normalisez les montants et les signes avant de vous fier au moindre rapprochement
Les fichiers CSV bancaires s'accordent rarement sur la façon de stocker l'argent. Un fichier tient tout dans une colonne Amount signée. Un autre répartit l'argent entre Debit et Credit. Un troisième enregistre les nombres en texte, avec des virgules. Faire concorder les en-têtes ne corrige rien de tout cela.
Si un fichier a déjà un montant signé et que l'autre sépare débit et crédit, convertissez d'abord les colonnes séparées par formule. Par exemple, si C2 est le Debit et D2 le Credit :
=SI(C2<>"" ,-CNUM(SUBSTITUE(C2,",","")),CNUM(SUBSTITUE(D2,",","")))
Vous obtenez une règle de montant comparable :
- le débit devient négatif
- le crédit devient positif
Si le problème, ce sont des nombres en texte dans une seule colonne, convertissez-les directement avec :
=CNUM(SUBSTITUE(E2,",",""))
Si le fichier a importé des valeurs entourées d'espaces ou de caractères non imprimables, supprimez-les avant la conversion. CAR(160) est l'espace insécable que les exports web glissent souvent sans qu'il se voie à l'écran. Pour nettoyer un en-tête ou un montant texte qui en contient, utilisez :
=SUPPRESPACE(SUBSTITUE(A1,CAR(160)," "))
Ne sautez pas cette étape sous prétexte que les montants « ont l'air corrects ». Une recherche compare la valeur stockée, pas l'affichage. C'est pourquoi 125.40 en texte et 125.40 en nombre échouent quand même.
Si cela revient sans cesse sur des fichiers importés, les espaces masqués qui cassent la correspondance dans les CSV relèvent en général du même schéma d'échec.
Les colonnes auxiliaires gardent leur intérêt quand le fichier est volumineux ou que les exports changent souvent. Mais ce sont un recours. Le premier essai doit toujours être la conversion directe et propre, celle qui montre en quoi consiste réellement l'écart.
Construisez la clé de rapprochement une fois les rôles au propre
Une fois les dates et les montants normalisés, choisissez la clé la plus solide que les fichiers permettent. C'est là que la plupart des comparaisons déraillent : on demande à un seul champ faible de porter tout le rapprochement.
| Clé candidate | Cas d'usage idéal | Pourquoi elle marche | Où elle lâche |
|---|---|---|---|
| Référence bancaire ou identifiant d'opération | Les deux fichiers conservent une référence unique | Le rapprochement un pour un le plus fiable | Un côté peut omettre totalement la référence |
| Montant signé + date d'opération | Les deux fichiers partagent la même base de date | Convient aux comparaisons simples sur un même compte | Les lignes au même montant créent des doublons |
| Montant signé + date de règlement | Les deux fichiers sont des exports basés sur la trésorerie | Plus adapté aux comparaisons de versements et de compensation bancaire | Lâche si un fichier raisonne en date d'achat |
| Fragment de référence + montant | Un fichier tronque la référence complète | Utile quand la banque garde des identifiants partiels | Faible si les libellés se répètent |
| Libellé + montant | Revue finale des restes | Aide à trancher de petits lots d'exceptions | Risqué comme clé de premier passage |
Utilisez la clé par couches :
- Rapprochez par référence si les deux fichiers ont une colonne de référence exploitable.
- À défaut, rapprochez par montant signé normalisé plus la bonne base de date.
- N'utilisez le libellé que pour examiner les restes, jamais pour piloter toute la comparaison.
Cet ordre compte parce que les données bancaires regorgent de doublons. Deux achats par carte à 19.99 le même jour, c'est courant. Un balayage de virements quotidien peut répéter le même montant plusieurs fois. Si vous démarrez par montant plus libellé parce que les en-têtes semblent familiers, Excel peut donner une fausse impression d'avoir tout bouclé pendant que la vraie ligne non rapprochée reste enfouie.
C'est aussi là que les différences d'en-têtes cessent de peser. Une fois Value Date et Posting Date rattachés au même rôle, et Debit et Amount ramenés à la même règle de signe, la comparaison ne porte plus sur les mots de la première ligne. Elle porte sur la concordance de la logique des opérations sous-jacentes.
Examinez les restes par type d'exception
Le résultat ne doit pas être une longue liste de lignes non rapprochées. Il doit répartir les restes en catégories qui vous disent quoi faire ensuite.
| Type d'exception | Ce que cela signifie en général | Quoi vérifier ensuite |
|---|---|---|
| Même montant, date différente | Décalage entre l'opération et le règlement | Comparez Txn Date à Value Date ou Posted Date |
| Même libellé, signe de montant différent | Convention débit/crédit incohérente | Revoyez la règle de conversion des montants |
| Même montant, plusieurs candidats | Opérations en double ou clé de rapprochement faible | Faites appel à la référence, à la séquence ou au contexte du solde voisin |
| Présente uniquement dans le fichier A | Ligne manquante dans le fichier B ou plage de filtre différente | Vérifiez la période du relevé et les types d'opérations exclus |
| Présente uniquement dans le fichier B | Ligne manquante dans le fichier A ou oubli à l'import | Vérifiez si un fichier exclut les éléments en attente ou contre-passés |
| Texte identique mais échec | Espaces masqués, conflit texte/nombre ou CAR(160) | Relancez TYPE() et les formules de nettoyage |
C'est cette structure qui vous permet de terminer le travail. Sans elle, chaque ligne non rapprochée paraît aussi suspecte que les autres, et vous finissez par toutes les vérifier à la main.
Si votre vrai objectif est d'éviter complètement la construction de formules, comparer deux fichiers CSV de relevés bancaires sans formules décrit la voie « fichier d'abord ». Mais même sans formules, la même logique s'applique : fixez le rôle des champs, normalisez la base de date, normalisez la règle de signe, puis n'examinez que les exceptions qui subsistent.
Quand renommer les colonnes cesse d'être le vrai problème
La première fois, les noms de colonnes différents semblent être tout le problème. Au troisième ou quatrième cycle, ils ne le sont plus. Le vrai coût, c'est de refaire chaque mois la même grille de rôles, le même nettoyage de dates, la même conversion de signes et la même revue d'exceptions sur des exports à peine différents.
À ce moment-là, le travail n'a plus rien d'analytique : c'est de la manipulation de fichiers. Vous ne décidez plus de ce que les opérations signifient. Vous reconstruisez la structure de comparaison de zéro parce qu'un fichier dit Txn Date, le suivant Posting Date, et un autre répartit crédits et débits sur des colonnes séparées.
