Dédoublonner un fichier clients avec Excel ou Google Sheets, sans IA
Repérer dans votre fichier reçu les entreprises que votre CRM a déjà, avec des formules à copier : la méthode simple, testée sur 1 513 établissements, et ce qu'elle laisse à vérifier.
« Supprimer les doublons » ne compare pas deux fichiers écrits différemment. Remettez téléphones, noms et codes postaux au même format, puis cherchez chaque ligne reçue dans votre CRM avec NB.SI. Testée par Scalon en novembre 2026 sur 1 513 établissements, cette méthode retrouve 94 lignes sur 100 parmi celles que le CRM avait déjà. Pressé ? Allez directement aux formules à copier.
Si vous utilisez Claude, il y a plus simple : vous copiez un prompt, Claude compare les deux fichiers et classe chaque ligne, sans formule à écrire. Notre guide : dédoublonner une base de données d'entreprises avec Claude.
Recevez la liste des établissements de votre marché, avec les coordonnées disponibles : dites-nous lequel.
Recevoir la liste de mon marchéPublié le 5 novembre 2026
Dans cet article
- Pourquoi « Supprimer les doublons » ne trouve rien entre deux fichiers ?
- Les formules suffisent-elles pour votre CRM ?
- Étape 1 : sortir les deux fichiers et préparer les colonnes
- Étape 2 : marquer les lignes déjà présentes
- Étape 3 : que faire de chaque case ?
- Pourquoi ces formules : ce que chaque colonne a donné
- Et l'outil de doublons de votre CRM ?
- Questions fréquentes
- Méthode
- Sources
- Citer l'étude
Pourquoi « Supprimer les doublons » ne trouve rien entre deux fichiers ?#
Le bouton « Supprimer les doublons » d'Excel ne retire que les lignes strictement identiques. Or, entre votre CRM et un fichier reçu, le même établissement s'écrit presque toujours autrement :
| Fichier | Nom · Téléphone |
|---|---|
| CRM | SARL Garage Martin · 02 99 00 00 01 |
| Reçu | Garage Martin · +33 2 99 00 00 01 |
C'est le même garage, mais aucune cellule ne se ressemble. Sur les 1 513 lignes reçues de notre test, avec le nom, le code postal et le téléphone tels quels, le bouton n'en a repéré aucune. Une fois les colonnes remises au même format, tout change :
Le bouton supprime aussi les lignes pour de bon : Microsoft conseille d'en copier les données d'origine avant. Ici, on marque les lignes, on ne supprime rien. Pourquoi un seul indice trompe souvent : voir le guide avec Claude.
Cherchez des établissements avec vos critères.
Les formules suffisent-elles pour votre CRM ?#
Tout dépend du téléphone. Pour savoir où vous situer, comparez dans l'onglet CRM =NBVAL(C:C) (lignes avec un téléphone) à =NBVAL(A:A) (toutes les lignes). Sur 100 lignes déjà présentes dans le CRM, voici combien nos formules en retrouvent :
| Votre CRM | Lignes retrouvées sur 100 | Conseil |
|---|---|---|
| Garages, téléphone sur toutes les lignes | 95 | Les formules suffisent |
| Restaurants, téléphone sur 93 % des lignes | 92 | Les formules suffisent |
| Sans téléphone | 15 à 51 selon nos deux cas (nom + code postal seul) | Passez au guide avec Claude |
Prenez aussi le guide avec Claude si les noms changent beaucoup d'un fichier à l'autre, ou si votre fichier compte beaucoup d'enseignes qui partagent un numéro : la case « à vérifier » grossit alors trop pour être triée à la main.
Étape 1 : sortir les deux fichiers et préparer les colonnes#
Exportez les entreprises de votre CRM en fichier CSV ou Excel, puis mettez les deux fichiers dans un même classeur : un onglet « CRM » et un onglet « Reçu ». Dans Google Sheets, importez chaque fichier par Fichier > Importer en décochant « Convertir le texte en nombres, dates et formules » : sinon un numéro écrit « +33 2 43… » peut être lu comme une formule, et s'affiche en erreur, comme dans notre essai. Dans les deux onglets, placez le nom en colonne A, le code postal en B et le téléphone en C. Ajoutez ensuite les colonnes D à H ci-dessous, et tirez chaque formule vers le bas. Les formules sont écrites pour la ligne 2, la première ligne de données.
Colonne D, le téléphone sans espaces ni points :
=SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(C2;" ";"");".";"");"-";"");"/";"");"+33";"0")Colonne E, le téléphone à 10 chiffres :
=SI(GAUCHE(D2;4)="0033";REMPLACER(D2;1;4;"0");SI(ET(NBCAR(D2)=11;GAUCHE(D2;2)="33");REMPLACER(D2;1;2;"0");SI(NBCAR(D2)=9;"0"&D2;D2)))Cette formule répare deux pièges. À l'ouverture d'un fichier, le tableur transforme souvent un numéro écrit sans espaces, comme 0299000001, en nombre et perd le 0 : il ne reste que 9 chiffres. Il transforme aussi +33299000001 en 33299000001 : 11 chiffres.
Colonne F, le nom sans forme juridique :
=SUPPRESPACE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(" "&MAJUSCULE(A2)&" ";" SARL ";" ");" SASU ";" ");" SAS ";" ");" EURL ";" ");" SNC ";" ");" SA ";" ");" EI ";" "))Colonne G, la clé nom + code postal :
=SI(F2="";"";F2&"|"&SI(NBCAR(B2)=4;"0"&B2;B2))Colonne H, la clé téléphone + code postal :
=SI(E2="";"";E2&"|"&SI(NBCAR(B2)=4;"0"&B2;B2))Le code postal 01000, devenu 1000 à l'ouverture, retrouve ainsi son 0. Voici ce que donnent ces colonnes sur trois lignes fictives :
| Ligne reçue (A · B · C) | E : téléphone | F : nom | G : clé nom + code postal |
|---|---|---|---|
| SARL Garage Martin · 35000 · +33 2 99 00 00 01 | 0299000001 | GARAGE MARTIN | GARAGE MARTIN|35000 |
| Boulangerie du Parc · 1000 · 04 50 00 00 04 | 0450000004 | BOULANGERIE DU PARC | BOULANGERIE DU PARC|01000 |
| Pizza Express · 53000 · 33243000003 | 0243000003 | PIZZA EXPRESS | PIZZA EXPRESS|53000 |
Dans Google Sheets réglé en français, ces fonctions portent les mêmes noms (liste des fonctions Google Sheets). Nous les avons essayées dans Google Sheets, sur des lignes fictives ; nous ne les avons pas essayées dans Microsoft Excel, dont la documentation décrit les mêmes fonctions.
Si vous avez le SIRET des deux côtés, collez-le en colonne J de chaque onglet et retirez-en les espaces avec Rechercher et remplacer (Ctrl+H) : il doit compter 14 chiffres.
Vous prospectez des commerces, des cabinets ou des ateliers ? Recevez la liste de votre marché, sur votre zone et votre cible, prête à appeler.
Recevoir la liste de mon marchéÉtape 2 : marquer les lignes déjà présentes#
Dans l'onglet Reçu, ajoutez en colonne I la formule de statut, puis tirez-la vers le bas :
=SI(ET(E2<>"";NB.SI(CRM!H:H;H2)>0;NB.SI(E:E;E2)=1;NB.SI(CRM!E:E;E2)=1);"déjà";SI(ET(G2<>"";NB.SI(CRM!G:G;G2)>0);"déjà";SI(ET(E2<>"";NB.SI(CRM!E:E;E2)>0);"à vérifier";"nouveau")))Elle range chaque ligne reçue dans l'une de ces trois cases :
- « déjà » : le même téléphone, présent une seule fois dans chaque fichier, avec le même code postal ; ou le même nom avec le même code postal.
- « à vérifier » : le même téléphone, mais partagé par plusieurs lignes ou rattaché à un autre code postal.
- « nouveau » : tout le reste.
Si vous avez ajouté le SIRET en colonne J, mettez-le en tête de la formule de statut, qui devient :
=SI(ET(J2<>"";NB.SI(CRM!J:J;J2)>0);"déjà";SI(ET(E2<>"";NB.SI(CRM!H:H;H2)>0;NB.SI(E:E;E2)=1;NB.SI(CRM!E:E;E2)=1);"déjà";SI(ET(G2<>"";NB.SI(CRM!G:G;G2)>0);"déjà";SI(ET(E2<>"";NB.SI(CRM!E:E;E2)>0);"à vérifier";"nouveau"))))Nos CRM de test n'avaient pas de SIRET : cette règle n'est pas mesurée ici.
Pour repérer les cases d'un coup d'œil, colorez-les avec Accueil > Mise en forme conditionnelle, comme l'explique l'aide Microsoft. Pour rapporter, en colonne K, l'identifiant de la fiche CRM trouvée, utilisez RECHERCHEX, où X est la colonne de l'identifiant dans l'onglet CRM. La formule cherche d'abord la clé téléphone + code postal, puis la clé nom + code postal :
=SI(I2<>"déjà";"";SIERREUR(RECHERCHEX(SI(H2="";"-";H2);CRM!H:H;CRM!X:X);RECHERCHEX(G2;CRM!G:G;CRM!X:X;"")))RECHERCHEX n'existe pas dans Excel 2016 et 2019, selon Microsoft. Prenez alors celle-ci :
=SI(I2<>"déjà";"";SIERREUR(INDEX(CRM!X:X;EQUIV(SI(H2="";"-";H2);CRM!H:H;0));SIERREUR(INDEX(CRM!X:X;EQUIV(G2;CRM!G:G;0));"")))Cherchez des établissements avec vos critères.
Étape 3 : que faire de chaque case ?#
Filtrez la colonne I, puis traitez chaque case à part.
- « déjà » : ne réimportez pas ces lignes. Si le fichier reçu apporte une information qui vous manque (un site, un e-mail), mettez à jour la fiche CRM grâce à l'identifiant rapporté. Voir l'enrichissement d'une base de données.
- « à vérifier » : ouvrez les deux fiches côte à côte et tranchez à la main. Ce sont souvent des numéros d'enseigne ou de standard. Dans notre test, il y en avait 64 sur 1 513 lignes reçues, soit environ 4 sur 100.
- « nouveau » : ce sont vos lignes à importer. Sur 100 lignes classées « nouveau » dans notre test, 96 l'étaient vraiment. Avant d'appeler, qualifiez la base.
Faites une copie du classeur et de votre CRM avant tout import. Repassez chaque nouveau fichier par ces formules avant de l'importer : c'est le meilleur moyen d'éviter les doublons à l'avenir. Pour bâtir la suite, voyez le fichier de prospection.
Pourquoi ces formules : ce que chaque colonne a donné#
Nous avons comparé 1 513 lignes reçues à deux CRM de test, des garages et des restaurants, en connaissant la bonne réponse pour chaque ligne (détail dans la méthode).
- Le téléphone retrouve seul 91 lignes sur 100 parmi celles que le CRM avait déjà. Son piège est le numéro partagé : standard, réseau, distributeurs automatiques d'une même marque. Sur les 18 lignes annoncées à tort par le téléphone, 14 venaient de numéros portés par plusieurs lignes. D'où le test
NB.SI(E:E;E2)=1de la formule. - Le nom avec le code postal ne retrouve que 29 lignes sur 100, car les noms s'écrivent rarement pareil. Mais il se trompe rarement : 2 erreurs sur 165 lignes annoncées, deux restaurants d'une même enseigne au même code postal.
- L'e-mail identique, mesuré sur les restaurants seulement, n'a annoncé aucune ligne à tort : les 64 lignes retrouvées étaient toutes déjà dans le CRM. Mais ajouté au téléphone et au nom, il n'a retrouvé que 5 lignes de plus : la formule de statut s'en passe.
Voici comment la formule de statut a classé les 1 513 lignes reçues :
| Case | Lignes | Dont déjà dans le CRM |
|---|---|---|
| « déjà » | 483 | 477 |
| « à vérifier » | 64 | 51 |
| « nouveau » | 966 | 35 |
Concrètement, 99 lignes « déjà » sur 100 sont justes. Sans la case « à vérifier », le téléphone et le nom auraient annoncé 19 lignes déjà présentes à tort ; avec elle, il en reste 6. Dans l'autre sens, sur 100 lignes déjà connues du CRM, 6 passent pour nouvelles.
Nous avons aussi refait le test avec le prompt du guide avec Claude, sur les mêmes fichiers et la même réponse connue. Il laisse passer environ trois fois moins de lignes déjà connues (12 contre 35), et il en laisse plus de deux fois moins à vérifier (27 contre 64). Les formules, elles, ne demandent qu'un tableur.
Besoin de la liste de votre marché ? On vous l’envoie avec les coordonnées disponibles, sur le périmètre de votre choix.
Recevoir la liste de mon marchéEt l'outil de doublons de votre CRM ?#
Ces outils cherchent les doublons à l'intérieur du CRM, une fois les lignes importées : préparez donc vos colonnes avant. Voici ce que dit leur documentation.
| Outil | Ce qu'il compare | À savoir |
|---|---|---|
| HubSpot | Entreprises : domaine, nom, pays, téléphone, secteur | Outil des doublons en offre Professional ou Enterprise ; à l'import, une entreprise au domaine déjà connu met à jour la fiche existante ; fusion définitive |
| Salesforce | Comptes : le nom avec l'adresse, la ville, le code postal ou le téléphone ; ou le site avec le téléphone ou l'adresse | Règle prévue pour les numéros nord-américains, selon sa documentation : vérifiez le format de vos numéros |
| Pipedrive | Organisations : même nom et même adresse | Fusion définitive |
Un domaine ou un téléphone partagé par une enseigne peut faire fusionner deux établissements différents. Dans notre test, sur les restaurants, le site a fait 9 erreurs sur 86 lignes annoncées. Gardez une copie avant toute fusion.
Questions fréquentes#
Et les doublons à l'intérieur de mon propre fichier ?#
Appliquez les formules de l'étape 1. Colorez ensuite les valeurs en double de la colonne H avec la mise en forme conditionnelle et vérifiez-les : un numéro d'enseigne peut relier deux établissements. Faites une copie, triez la colonne H pour regrouper en haut les lignes remplies, sélectionnez seulement celles-là et, après vérification, appliquez Données > Supprimer les doublons ; pour les lignes sans téléphone, faites de même avec la colonne G. Pour obtenir la liste des clés sans doublons, sans rien supprimer, =UNIQUE(H2:H1000) le fait dans Excel 2021, 2024 et Microsoft 365. Dans Google Sheets, le chemin est Données > Nettoyage des données > Supprimer les doublons, qui compte comme doublons des valeurs identiques à la casse près.
Faut-il un SIRET dans mon fichier ?#
Non. Il aide quand il figure des deux côtés. Le SIRET est l'identifiant à 14 chiffres d'un établissement ; ses 9 premiers chiffres, le SIREN, désignent l'entreprise. Deux lignes au même SIREN peuvent donc être deux établissements différents. Voir trouver le SIRET d'une entreprise et la base Sirene.
Méthode#
Nous avons testé les formules sur deux cas, des garages et des restaurants, avec la bonne réponse connue pour chaque ligne. Chaque ligne reçue a été classée par les formules, puis comparée à cette réponse ; une partie des cas a été relue une seconde fois par Scalon.
Le détail de la méthode et ses limites
Les cas tests. Garages : 448 fiches d'un annuaire de professionnels d'un département jouent le CRM, comparées à 963 établissements Scalon. Restaurants : 397 fiches d'un annuaire de restaurants d'un autre département, comparées à 550 établissements Scalon. Les fiches du CRM de test sont reprises telles que publiées, sans nettoyage.
La réponse connue. Deux lignes désignent le même établissement si elles sont rapprochées dans les données de Scalon. Les désaccords entre une clé simple et ces rapprochements ont été relus à l'aveugle par une seconde lecture de Scalon, sans voir les réponses : 99 paires pour cet article, 98 « pas le même » et 1 « même » (même adresse, même téléphone, nom changé), ajoutée à la réponse connue. Nos rapprochements peuvent se tromper : une règle n'est adoptée que si son erreur mesurée reste sous 5 %.
563 lignes déjà présentes ici, 557 dans le guide avec Claude. Le guide ne vérifiait une ligne qu'à travers les rapprochements proposés par son propre essai. Ici, chaque ligne est vérifiée contre tous nos rapprochements et toutes les relectures, plus la paire ci-dessus : six lignes de plus sont donc reconnues comme déjà présentes. Le prompt Claude est noté avec cette même réponse, pour comparer à égalité : 531 justes sur 536 « déjà chez moi », 20 des 27 « à vérifier » déjà présentes, 12 déjà présentes classées nouvelles.
Les formules. Les chiffres viennent d'une réplique de la logique des formules de l'article, calculée sur toutes les lignes reçues. NB.SI traite aussi * et ? comme des jokers et compare les numéros comme des nombres : sans effet dans notre test (aucun nom concerné, 4 téléphones hors format). Le nom tel quel avec le code postal, majuscules et minuscules confondues comme le font NB.SI et le bouton, retrouvait 28 lignes sur 100, contre 29 avec les formules ; le téléphone tel qu'écrit, aucune. Le « 0 » du bouton « Supprimer les doublons » vaut pour les trois colonnes nom, code postal et téléphone comparées ensemble : sur le nom et le code postal seuls, il aurait retiré 162 lignes reçues. Les formules ont été essayées dans Google Sheets sur des lignes fictives (un téléphone en +33, un code postal sans son 0, un numéro porté par deux lignes, une ligne vide), avec les noms anglais des mêmes fonctions, pas dans Microsoft Excel.
Les autres sources. Les tutoriels de la page de résultats expliquent le bouton et la mise en forme conditionnelle sur un seul fichier, comme l'aide Microsoft ; nous n'en avons trouvé aucun qui mesure ce que sa méthode retrouve entre deux fichiers d'entreprises.
Les limites. Le SIRET n'est pas mesuré : nos CRM de test n'en avaient pas. Les formules ne retirent ni les accents, ni la ponctuation, ni des formes plus rares (SCI, ETS) ; le faire aurait porté nom + code postal de 29 à 35 sur 100. Power Query et la fusion approximative ne sont pas testés. Deux secteurs et deux départements seulement : un autre métier, un autre territoire ou un CRM saisi à la main peuvent donner d'autres résultats.
Sources#
- Rechercher et supprimer des doublons, aide Microsoft
- Fonction RECHERCHEX, aide Microsoft
- Fonction UNIQUE, aide Microsoft
- Fonction NB.SI, aide Microsoft
- Supprimer les doublons, aide Google Sheets
- Liste des fonctions Google Sheets
- Review and manage duplicate records, HubSpot (mise à jour du 23 octobre 2026)
- Deduplicate records in HubSpot (mise à jour du 2 octobre 2026)
- Standard Account Matching Rule, Salesforce (mise à jour du 25 septembre 2026)
- How does the Merge Duplicates feature identify duplicates, Pipedrive (mise à jour du 3 septembre 2026)
- Merge Duplicates, Pipedrive (mise à jour du 3 septembre 2026)
- Siret, définition, Insee
- Siren, définition, Insee
- Dédoublonner une base de données d'entreprises avec Claude, Scalon
Citer l'étude#
La citation complète, avec les effectifs
Scalon, « Dédoublonner un fichier clients avec Excel ou Google Sheets, sans IA », 5 novembre 2026 : sur 1 513 lignes reçues comparées à deux CRM de test de 448 et 397 lignes, les formules retrouvent 94 lignes déjà présentes sur 100 ; 477 des 483 lignes marquées « déjà » sont justes ; « Supprimer les doublons », colonnes telles quelles, n'en repère aucune. https://scalon.fr/blog/dedoublonner-fichier-excel
Vous vendez aux commerces et aux PME ?
Restaurants, cabinets, agences, garages : Scalon relie chaque établissement à son entreprise et à ses coordonnées publiques.