Trouver les lignes ajoutées, supprimées et modifiées entre deux exports CSV (2026)
Il faut choisir une colonne qui identifie chaque ligne (identifiant, référence, e-mail, n° de pièce), rapprocher les deux exports sur cette colonne, puis comparer les autres colonnes : une clé présente seulement dans le nouvel export est une ligne ajoutée, seulement dans l'ancien une ligne supprimée, dans les deux avec une valeur différente une ligne modifiée. Avant de comparer, alignez le séparateur, l'encodage et le format des nombres, sinon chaque ligne ressort en écart.
Les trois statuts et leur contrôle
| Statut | Définition | Contrôle |
|---|---|---|
| Ajoutée | clé présente seulement dans le nouvel export | lignes du nouvel export = identiques + modifiées + ajoutées |
| Supprimée | clé présente seulement dans l'ancien export | lignes de l'ancien export = identiques + modifiées + supprimées |
| Modifiée | clé dans les deux, au moins une cellule différente | liste des cellules : clé, colonne, avant, après |
| Identique | clé dans les deux, toutes les cellules égales |
Si les deux égalités ne tombent pas juste, des lignes ont été perdues en route : lignes sans clé, lignes vides, filtre actif au moment de l'export.
Pourquoi un diff texte ou une comparaison ligne à ligne ne suffit pas
Un outil de comparaison de texte compare les lignes dans l'ordre. Si le logiciel exporte dans un autre ordre (tri par date de modification, par exemple), il signale presque tout. Trier les deux fichiers avant aide, mais une ligne modifiée apparaît alors comme une suppression plus un ajout, sans dire quelle colonne a changé.
Ce qui fait échouer la comparaison de deux CSV
| Écart de format | Exemple | Effet si on ne le traite pas |
|---|---|---|
| Séparateur | ; dans un export, , dans l'autre | tout le contenu dans une seule colonne |
| Encodage | UTF-8 contre Windows-1252 | « Désignation » lu « Désignation », colonnes non rapprochées |
| Virgule décimale | 12,50 contre 12.5 | tous les prix en écart |
| Séparateur de milliers | 1 234,56 contre 1,234.56 | montants en écart ou lus comme texte |
| Zéros initiaux | 00123 contre 123 après passage dans Excel | clés non retrouvées |
| Espaces et casse | REF-01 contre ref-01 | clés non retrouvées |
| En-tête renommée | Prix HT contre Prix unitaire HT | colonne traitée comme nouvelle |
| Lignes de titre | titre et ligne vide avant l'en-tête | en-têtes faux |
Excel enregistre un CSV avec le séparateur de liste des paramètres régionaux (le point-virgule en français) ; un logiciel américain exporte en général avec la virgule. Les deux sont valides, il faut seulement les lire chacun avec le bon séparateur.
Méthode dans Excel
- Importez chaque CSV par l'onglet Données (import d'un fichier texte/CSV) en choisissant l'encodage et le séparateur, et en mettant la colonne clé au format Texte.
- Dans le nouvel export, ramenez l'ancienne valeur avec
=RECHERCHEX(A2;Ancien!A:A;Ancien!C:C;"AJOUTÉE")(Excel 2021, 2024 ou Microsoft 365, référence Microsoft). - Faites la même recherche depuis l'ancien export pour trouver les lignes supprimées.
- Comparez avec
=SI(D2<>C2;"modifiée";""), une colonne par champ à contrôler.
Avec Power Query, « Anti jointure gauche » et « Anti jointure droite » donnent directement les lignes supprimées et ajoutées (Fusionner des requêtes).
Méthode avec l'outil
L'outil de comparaison détecte l'encodage (UTF-8, UTF-16, Windows-1252) et le séparateur de chaque fichier, laisse choisir la ligne d'en-tête, propose la clé et signale ses doublons avec leurs numéros de ligne, rapproche les colonnes renommées et compare les nombres quel que soit leur format. Le résultat se filtre par statut ; l'export CSV donne une ligne par cellule modifiée (clé, colonne, avant, après, écart), le rapport Excel une feuille par statut. Rien n'est envoyé sur un serveur. Gratuit jusqu'à 200 lignes par fichier, puis 2,99 € TTC pour 24 h.
Questions fréquentes
Quelle colonne prendre comme clé ? Celle que le logiciel ne modifie jamais : identifiant interne, référence article, n° de pièce, e-mail pour une liste de contacts. Le libellé ou la date de mise à jour ne conviennent pas.
Aucune ligne ne correspond entre les deux fichiers. Les clés sont presque toujours écrites différemment : majuscules contre minuscules, espaces, zéros initiaux supprimés, ou préfixe ajouté par l'un des logiciels. Comparez dix clés à l'œil, puis activez « ignorer la casse » ou nettoyez la colonne.
Comment comparer des exports de 100 000 lignes ? Un tableur devient lent avec des milliers de RECHERCHEX. Power Query ou un outil dédié tiennent mieux la charge ; dans le navigateur, la limite est la mémoire de l'ordinateur.
Peut-on ignorer certaines colonnes, comme la date de dernière modification ? Oui : retirez-les de la comparaison, sinon chaque ligne touchée par le logiciel ressort modifiée même si les données utiles n'ont pas changé.