Comparer deux fichiers Excel : 6 méthodes pour trouver les différences
Pour comparer deux fichiers Excel, rassemblez les deux listes dans un même classeur puis saisissez, en face de la première ligne, la formule =SI(NB.SI(plage;valeur)>0;"Présent";"Absent").
Excel indique alors ligne par ligne ce qui existe dans les deux fichiers et ce qui n'existe que dans un seul. Pour comparer des montants plutôt qu'une simple présence, on passe par RECHERCHEV ou RECHERCHEX ; pour faire ressortir les écarts en couleur, par la mise en forme conditionnelle.
Nos formateurs voient revenir cette question dans presque toutes les sessions : deux exports du même logiciel, deux versions d'un budget, une base client de janvier et une de juillet.
Voici les six méthodes que nous enseignons, de la formule la plus simple à la macro automatisée, avec un classeur de 7 exercices corrigés à télécharger en fin d'article.
Au sommaire de cet article :
Téléchargez le classeur d'exercices corrigés
Le classeur reprend les sept exercices cités dans cet article, chacun bâti sur un cas d'entreprise réel : RH, finance, commercial, marketing, comptabilité, gestion de projet et achats.

Téléchargement libre, sans inscription. Vous trouverez tous nos autres fichiers d'entraînement sur la page exercices Excel corrigés à télécharger. Et pour situer votre niveau réel en dix minutes, faites notre test Excel gratuit avec correction en ligne.
Quelle méthode choisir pour comparer deux fichiers Excel ?
Avant d'écrire la moindre formule, posez-vous une seule question : qu'est-ce que vous cherchez exactement ? Les six méthodes ci-dessous ne répondent pas au même besoin.
NB.SI : savoir si une valeur du fichier A existe dans le fichier B. Fonctionne même si les deux fichiers n'ont ni le même ordre ni le même nombre de lignes. C'est la méthode passe-partout.
RECHERCHEV ou RECHERCHEX : comparer une valeur (montant, quantité, date) associée à une même clé dans les deux fichiers.
Mise en forme conditionnelle : faire ressortir les écarts en couleur, directement sur le tableau, sans ajouter de colonne.
Onglet Inquire : comparer deux classeurs entiers cellule par cellule, formules et mises en forme comprises. Réservé à certaines licences professionnelles.
Power Query : rejouer la comparaison en un clic à chaque nouvel export, y compris sur des dizaines de milliers de lignes.
Macro VBA : déclencher la comparaison sur un bouton et l'adapter exactement à la structure de vos fichiers.
Le conseil de nos formateurs : commencez toujours par NB.SI. Dans huit cas sur dix c'est suffisant, et cela vous évite d'installer quoi que ce soit.
Comparer deux colonnes Excel avec NB.SI
C'est la méthode de référence, celle qui répond au besoin le plus courant : comparer deux colonnes Excel pour savoir ce qui manque d'un côté ou de l'autre. Les exercices 1, 3 et 6 du classeur à télécharger sont bâtis sur cette méthode. Commencez par rassembler les deux listes dans un même classeur, l'une en colonne B, l'autre en colonne E, sur la même feuille ou sur deux onglets.
La fonction NB.SI compte le nombre de fois qu'une valeur apparaît dans une plage. Si le compte vaut 0, la valeur est absente du second fichier.
=NB.SI(plage;critère)plage est la colonne du second fichier dans laquelle vous cherchez, critère est la valeur du premier fichier que vous testez. Enveloppez le tout dans une fonction SI pour obtenir un résultat lisible :
=SI(NB.SI($E$2:$E$500;B2)>0;"Présent";"Absent")Les dollars ne sont pas décoratifs : ils figent la plage de recherche. Sans eux, elle glisse d'une ligne à chaque recopie vers le bas et tout le bas du tableau devient faux.
Si les références absolues et relatives ne sont pas encore un réflexe, c'est le moment de les fixer.
Exercice 1 : Donnée RH : les salariés absents de l'export de juillet

Objectif : en comparant l'effectif au 30 juin et l'export de paie du 15 juillet, retrouver les trois salariés qui ont disparu entre les deux fichiers. La première ligne est déjà résolue pour vous servir de modèle.
Trouver les lignes supprimées entre deux exports
Il suffit d'inverser le test : au lieu de chercher les valeurs présentes, on cherche celles dont le compte est nul.
=SI(NB.SI($E$2:$E$500;B2)=0;"Perdu";"Toujours présent")la fonction SI(...) : permet de tester une condition. Si elle est vraie, Excel affiche une valeur, sinon il en affiche une autre.
NB.SI$E$2:$E$500;B2) : compte le nombre de fois où la valeur de B2 apparaît dans la plage E2:E500.
$E$2:$E$500 : la plage dans laquelle Excel effectue la recherche. Les $ figent la plage lorsqu'on recopie la formule.
B2 : la valeur à rechercher dans cette plage.
=0 : vérifie si la valeur de B2 n'a été trouvée aucune fois.
"Perdu" : texte affiché si la valeur de B2 est absente de la plage E2:E500.
"Toujours présent" : texte affiché si la valeur de B2 est trouvée au moins une fois dans la plage.
Et pour repérer au contraire les lignes nouvelles, inversez les deux plages : testez chaque valeur du fichier B contre le fichier A.
Exercice 3 : Donnée Commercial : les clients perdus entre deux exports
A vous de jouer !
Objectif : identifier les clients du portefeuille au 31/12/2025 qui ne figurent plus dans l'export du 30/06/2026, alors que les codes ne sont pas rangés dans le même ordre dans les deux fichiers.
Exercice 6 : Donnée Gestion de projet : comparer sur une clé en deux colonnes

Objectif : comparer deux versions d'un planning d'affectation où le même intervenant intervient sur plusieurs tâches, et dire quelles affectations ont réellement été supprimées.
Quand la clé tient sur deux colonnes
Un nom seul ne suffit pas toujours à identifier une ligne : le même intervenant peut apparaître sur plusieurs tâches, le même client sur plusieurs commandes. Dans ce cas NB.SI se trompe. Passez à NB.SI.ENS, qui exige que toutes les conditions soient vraies sur la même ligne :
=SI(NB.SI.ENS($E$2:$E$500;B2;$F$2:$F$500;C2)>0;"Maintenue";"Supprimée")C'est le même principe que SOMME.SI.ENS : les plages et les critères vont par paires, et l'ordre compte.
SI(...) : teste une condition.
Si la condition est vraie → affiche "Maintenue"
Si la condition est fausse → affiche "Supprimée"
NB.SI.ENS($E$2:$E$500;B2;$F$2:$F$500;C2) : compte le nombre de lignes qui respectent plusieurs critères en même temps.
$E$2:$E$500 : première plage où Excel cherche le premier critère.
Les $ bloquent la plage pour éviter qu'elle se décale lors d'une copie de formule.
B2 : premier critère recherché dans la colonne E.
$F$2:$F$500 : deuxième plage où Excel cherche le second critère.
C2 : deuxième critère recherché dans la colonne F.
>0 : vérifie si Excel a trouvé au moins une ligne correspondant aux deux critères.
"Maintenue" : résultat affiché si une correspondance existe.
"Supprimée" : résultat affiché si aucune ligne ne correspond aux deux critères.
Comparer deux fichiers Excel avec RECHERCHEV (ou RECHERCHEX sur Excel 365)
NB.SI répond à une question binaire : la valeur existe, ou pas. Dès que vous devez comparer un montant, une quantité ou une date associée à une même référence, il faut aller chercher la valeur dans le second fichier. C'est le rôle de RECHERCHEV, travaillé dans les exercices 5 et 7 du classeur.
Avec RECHERCHEV, sur toutes les versions d'Excel
=RECHERCHEV(valeur_cherchée;table_matrice;no_index_col;valeur_proche)Pour calculer l'écart entre le montant comptabilisé en colonne C et le montant du second fichier :
=C2-RECHERCHEV(B2;$E$2:$F$500;2;FAUX)Le quatrième argument FAUX n'est pas optionnel : il impose la correspondance exacte. Avec VRAI, Excel accepte la valeur approchante la plus proche et vous sortez des écarts inventés. Si une référence peut manquer dans le second fichier, protégez la formule avec SIERREUR plutôt que de laisser l'erreur se propager :
=SIERREUR(C2-RECHERCHEV(B2;$E$2:$F$500;2;FAUX);"Absente du fichier B")Le détail complet de la syntaxe est dans notre article dédié à la fonction RECHERCHEV.
Exercice 5 : Donnée Comptable : les écarts entre la balance et le relevé bancaire

Objectif : calculer facture par facture l'écart entre le montant comptabilisé et le montant réellement encaissé, sachant que les deux fichiers ne sont pas rangés dans le même ordre.
Avec RECHERCHEX, sur Excel 365 et Excel 2021
RECHERCHEX règle les trois défauts de RECHERCHEV : plus de numéro de colonne à compter, recherche possible vers la gauche, et surtout un argument dédié à la valeur introuvable.
=RECHERCHEX(valeur_cherchée;tableau_recherche;tableau_renvoyé;si_non_trouvé)=C2-RECHERCHEX(B2;$E$2:$E$500;$F$2:$F$500;"Absente du fichier B")Plus besoin de SIERREUR : le quatrième argument s'en charge. Et pour tester une simple présence, la version RECHERCHEX du NB.SI vu plus haut donne :
=SI(ESTNA(RECHERCHEX(B2;$E$2:$E$500;$E$2:$E$500));"Absent";"Présent")Attention : un classeur qui utilise RECHERCHEX ne s'ouvre correctement que sur Excel 2021, Excel 365 et Excel en ligne. Si vous devez l'envoyer à un client sous Excel 2016 ou 2019, restez sur RECHERCHEV. Nous détaillons les six cas d'usage dans l'article fonction RECHERCHEX Excel.
Exercice 7 : Donnée Achats : nouvelle, supprimée ou modifiée
Objectif : classer chaque référence de l'inventaire de juin en Supprimée, Modifiée ou Identique, avec une seule formule qui combine NB.SI et RECHERCHEV dans le bon ordre.
Comparer deux tableaux Excel et afficher les différences en couleur
Ajouter une colonne de résultat ne convient pas toujours : parfois on veut simplement voir les écarts sauter aux yeux sur le tableau d'origine. La mise en forme conditionnelle par formule fait exactement cela, et c'est l'objet de l'exercice 2 du classeur. Cas le plus simple : les deux tableaux ont les mêmes lignes, dans le même ordre. Un signe = suffit alors à les comparer.
Étape 1 : sélectionner la plage à surveiller
Sélectionnez le premier tableau en partant du coin supérieur gauche, par exemple de B2 jusqu'en bas. La cellule active doit être B2 : c'est elle qui sert de repère à la formule.
Étape 2 : créer une règle par formule
Onglet Accueil, puis Mise en forme conditionnelle, Nouvelle règle, et enfin « Utiliser une formule pour déterminer pour quelles cellules le format sera appliqué ».
Étape 3 : saisir la formule de comparaison
=B2<>E2Choisissez un remplissage rouge et validez : toutes les cellules qui diffèrent de leur homologue du second tableau se colorent immédiatement. Notre guide sur la mise en forme conditionnelle sous Excel reprend le paramétrage pas à pas.
[Capture d'écran : la boîte Nouvelle règle de mise en forme avec la formule =B2<>E2 et le format rouge sélectionné]
Attention à un piège que nous voyons chaque semaine en formation : sur du texte, le signe = ignore la casse. « Publicité » et « PUBLICITÉ » sont considérés comme identiques. Pour une comparaison sensible à la casse, passez par EXACT :
=NON(EXACT(B2;E2))Exercice 2 : Donnée Finance : les postes modifiés entre deux versions du budget
Objectif : dire poste par poste lesquels ont bougé entre la version du budget validée en janvier et celle reçue le 15 juillet.
Comparer deux fichiers Excel pour trouver les doublons
Quand la comparaison sert à dédoublonner — deux fichiers d'adresses, deux listes d'inscrits, deux bases prospects — la logique reste celle de NB.SI, mais le résultat vous intéresse dans l'autre sens : ce qui est commun aux deux fichiers. C'est le sujet de l'exercice 4 du classeur.
=SI(NB.SI($E$2:$E$500;B2)>0;"Doublon";"Nouveau")Trois pièges reviennent systématiquement :
La casse. NB.SI ne la distingue pas : Karim.BLANC@societe.fr et karim.blanc@societe.fr comptent pour une seule et même adresse. Bonne nouvelle pour un dédoublonnage d'emailing, mauvaise pour des références sensibles à la casse.
Les espaces. Un espace invisible en début de chaîne et la valeur n'est plus trouvée. Passez les deux listes à la moulinette de SUPPRESPACE avant de comparer : voir supprimer les espaces dans Excel.
Les nombres stockés en texte. Le 00123 importé d'un logiciel métier n'est pas le nombre 123. Convertissez les deux colonnes au même format avant de lancer la comparaison.
Une fois les doublons repérés, la suppression prend trois clics : notre article supprimer les doublons sur Excel détaille la manipulation.
Exercice 4 : Donnée Marketing : les adresses déjà présentes en base
Objectif : croiser les adresses collectées sur un salon avec la base d'inscrits du site pour n'envoyer la campagne qu'aux nouveaux contacts, piège de casse inclus.
Comparer deux fichiers Excel avec l'onglet Inquire
Excel embarque un outil dédié à la comparaison de classeurs : le complément Inquire, qui s'appuie sur l'application Spreadsheet Compare. Il compare deux classeurs entiers cellule par cellule et signale non seulement les valeurs, mais aussi les formules, les noms définis et les mises en forme, avec un code couleur par type de modification. Aucune formule à écrire.
Étape 1 : activer le complément Inquire
Fichier, Options, Compléments. En bas de la fenêtre, choisissez « Compléments COM » dans la liste Gérer, cliquez sur Atteindre, cochez Inquire et validez. Un onglet Inquire apparaît alors dans le ruban.
Étape 2 : lancer la comparaison
Ouvrez les deux classeurs, puis Inquire, Comparer des fichiers. Les résultats s'affichent dans une fenêtre partagée : ancien fichier à gauche, nouveau à droite, cellules modifiées surlignées.
Le problème, et c'est ce que la plupart des tutoriels oublient de dire : Inquire n'est livré qu'avec les éditions Office Professionnel Plus et Microsoft 365 Apps for enterprise. Il n'est pas proposé sur les abonnements Microsoft 365 Famille ou Personnel, ni sur Microsoft 365 Apps for business, et il n'existe pas sur Mac. Si vous ne trouvez pas Inquire dans la liste des compléments COM, ce n'est pas une erreur de manipulation : votre licence ne l'inclut simplement pas.
Comparer deux fichiers Excel sans Inquire
C'est le cas de la grande majorité des utilisateurs. Trois solutions, sans rien installer :
Les formules NB.SI et RECHERCHEV vues plus haut, qui fonctionnent sur toutes les versions, Mac compris.
Power Query, intégré à Excel depuis 2016, qui compare deux fichiers entiers sans écrire une seule formule.
Une macro VBA, si la comparaison doit être relancée souvent sur des fichiers de structure identique.
Comparer 2 fichiers Excel automatiquement avec une macro VBA
Si vous recevez chaque semaine deux exports à rapprocher, une macro fait le travail en un clic. Le code ci-dessous compare la colonne A de deux feuilles, surligne en rouge les lignes du premier fichier absentes du second, écrit le statut en colonne C et affiche le nombre d'écarts trouvés.
Avant de le coller, ouvrez l'éditeur VBA avec Alt + F11, puis faites Insertion, Module.
Pour que ce code VBA fonctionne correctement, il faut respecter plusieurs prérequis :
Les deux feuilles doivent exister dans le même classeur
Donc le fichier Excel doit contenir exactement deux onglets nommés :
Fichier A
Fichier B
Le fichier doit être enregistré en :
.xlsm
Le fonctionnement :
La macro regarde chaque valeur de la colonne A du Fichier A.
Elle cherche cette valeur dans la colonne A du Fichier B.
Si elle ne trouve rien :
cellule en rouge dans Fichier A
écrit "Absent du fichier B" en colonne C
compte un écart
À la fin, elle affiche le nombre d'absences.
Sub ComparerDeuxFichiers()
' Compare la colonne A de deux feuilles et signale les lignes manquantes
Dim wsA As Worksheet, wsB As Worksheet
Dim derniereLigne As Long, i As Long, nbEcarts As Long
Dim cle As String
Set wsA = ThisWorkbook.Worksheets("Fichier A")
Set wsB = ThisWorkbook.Worksheets("Fichier B")
derniereLigne = wsA.Cells(wsA.Rows.Count, 1).End(xlUp).Row
nbEcarts = 0
For i = 2 To derniereLigne
cle = wsA.Cells(i, 1).Value
If Application.WorksheetFunction.CountIf(wsB.Columns(1), cle) = 0 Then
wsA.Cells(i, 1).Interior.Color = RGB(255, 199, 206) ' rouge : ligne absente
wsA.Cells(i, 3).Value = "Absent du fichier B"
nbEcarts = nbEcarts + 1
Else
wsA.Cells(i, 3).Value = "Présent"
End If
Next i
MsgBox nbEcarts & " ligne(s) du fichier A absente(s) du fichier B.", vbInformation, "Comparaison terminée"
End Sub
Adaptez les deux lignes Set à vos fichiers, ainsi que le numéro de la colonne qui sert de clé. Enregistrez ensuite le classeur au format .xlsm, sans quoi la macro disparaît à la fermeture, et pensez à activer les macros Excel si un bandeau de sécurité s'affiche à l'ouverture.
Si le code vous paraît opaque, commencez par notre article sur l'architecture d'un code Excel VBA : une fois la structure Sub, Dim et boucle comprise, ce type de macro se lit sans difficulté. Nos formations VBA partent de zéro et arrivent exactement à ce niveau.
Comparer deux fichiers Excel avec Power Query, sans aucune formule
Power Query est l'outil le plus sous-estimé d'Excel pour cette tâche. Il est intégré à toutes les versions depuis Excel 2016, il avale sans broncher des centaines de milliers de lignes, et surtout la comparaison se rejoue en un clic à chaque nouvel export.
Étape 1 : charger les deux fichiers
Données, Obtenir des données, À partir d'un fichier, À partir d'un classeur Excel. Répétez l'opération pour le second fichier. Dans les deux cas, choisissez « Transformer les données » et non « Charger ».
Étape 2 : fusionner les requêtes
Dans l'éditeur Power Query : Accueil, Fusionner les requêtes. Sélectionnez la colonne clé dans chacune des deux requêtes, elles doivent contenir la même information.
Étape 3 : choisir le bon type de jointure
C'est ici que tout se joue, et c'est l'étape que personne n'explique. Dans la liste « Type de jointure », choisissez Anti-jointure gauche (lignes uniquement dans la première) : le résultat ne contient plus que les lignes du fichier A absentes du fichier B. L'anti-jointure droite donne l'inverse, l'externe complète garde les deux.
Cliquez sur Fermer et charger : le résultat arrive dans une nouvelle feuille. La semaine suivante, remplacez simplement les fichiers sources et cliquez sur Actualiser tout. C'est exactement ce que nous mettons en place chez nos clients pendant les formations Power Query.
FAQ : comparer deux fichiers Excel
Comment comparer deux fichiers Excel sur Excel 2016 ?
Toutes les méthodes de cet article fonctionnent sur Excel 2016, sauf RECHERCHEX qui n'est apparue qu'avec Excel 2021. Utilisez NB.SI, RECHERCHEV, la mise en forme conditionnelle ou Power Query, intégré nativement depuis cette version. L'onglet Inquire n'est présent dans Excel 2016 qu'en édition Professionnel Plus.
Comment comparer deux feuilles d'un même classeur Excel ?
Exactement de la même manière, en préfixant les plages par le nom de la feuille, par exemple =NB.SI(Juillet!$B$2:$B$500;Juin!B2). Si le nom de la feuille contient un espace ou un accent, Excel ajoute automatiquement des apostrophes autour : ='Base juillet'!$B$2:$B$500.
Peut-on comparer deux fichiers Excel sur Mac ?
Oui, avec les formules et la mise en forme conditionnelle, strictement identiques sur Mac. Power Query est disponible sur les versions récentes d'Excel pour Mac mais reste plus limité, et le complément Inquire n'existe pas du tout sur Mac.
Pourquoi ma formule affiche « Absent » alors que la valeur existe bien ?
Dans neuf cas sur dix : un espace invisible en début ou en fin de chaîne, ou un nombre stocké en texte d'un côté et en nombre de l'autre. Testez avec =EXACT(B2;E2) pour lever le doute, puis nettoyez avec SUPPRESPACE. Deuxième cause fréquente : une plage non figée par des dollars, qui a glissé pendant la recopie.
Comment comparer deux fichiers Excel de plusieurs milliers de lignes ?
Au-delà de 50 000 lignes, les NB.SI en cascade ralentissent nettement le classeur, chaque formule relisant toute la plage à chaque recalcul. Passez à Power Query : la comparaison se fait hors feuille de calcul et ne pèse plus sur le temps de recalcul. C'est un point que nous travaillons en formation Excel avancé.

