EXACT : La formule Excel pour une comparaison de texte précise et sensible à la casse
=EXACT(texte1; texte2)La formule EXACT est l'une des fonctions texte les plus utiles d'Excel pour effectuer des comparaisons rigoureuses entre deux chaînes de caractères. Contrairement aux comparaisons standard qui ignorent les différences de casse, EXACT vérifie que deux textes sont absolument identiques, caractère par caractère, y compris les majuscules et minuscules. Cette fonction est indispensable dans les environnements professionnels où la précision est cruciale : validation de données sensibles, vérification d'identifiants, contrôle qualité de bases de données, ou authentification de codes. La fonction EXACT retourne VRAI (TRUE) si les deux textes correspondent parfaitement, et FAUX (FALSE) dans tous les autres cas. Elle traite les espaces, les accents et la casse avec rigueur, ce qui en fait un outil de validation exceptionnel pour les données critiques. Bien que simple en apparence, cette formule devient puissante lorsqu'elle est combinée avec d'autres fonctions comme SI, SOMMEPROD ou les filtres automatiques. Dans ce guide complet, vous découvrirez comment maîtriser EXACT, l'implémenter efficacement dans vos feuilles de calcul, et l'utiliser pour résoudre des problèmes réels de gestion de données.
Syntaxe et paramètres
La syntaxe de la formule EXACT est remarquablement simple : =EXACT(texte1; texte2). Elle accepte exactement deux paramètres obligatoires. Le premier paramètre, texte1, représente la première chaîne de caractères à comparer. Il peut s'agir d'une référence de cellule, d'une valeur texte entre guillemets, ou du résultat d'une autre formule. Le second paramètre, texte2, est le texte avec lequel vous souhaitez comparer texte1, suivant les mêmes règles de format. La force majeure d'EXACT réside dans sa sensibilité à la casse. Par exemple, "Excel" et "excel" ne sont pas considérés comme identiques. De plus, la fonction distingue les espaces : "données" et "données " (avec un espace à la fin) produiront FAUX. Elle respecte également les caractères spéciaux et les accents. Aucun paramètre optionnel n'existe pour cette fonction, ce qui la rend prévisible et fiable. Les deux paramètres peuvent contenir jusqu'à 32 767 caractères chacun. Si l'un des paramètres est vide, la fonction retourne VRAI uniquement si les deux sont vides. Pour les nombres, EXACT les compare en tant que texte après conversion, ce qui peut produire des résultats surprenants avec les décimales.
text1text2Exemples pratiques
Validation d'identifiants de client dans une base de données
=EXACT(A2;B2)La cellule A2 contient l'identifiant reçu (par exemple 'CLI_2024_001'), et B2 contient l'identifiant interne. La formule retourne VRAI si les deux correspondent exactement, FAUX sinon. Cela permet de détecter immédiatement les erreurs de saisie ou de transmission.
Détection des doublons avec sensibilité à la casse dans une liste de noms
=SOMMEPROD(--EXACT(C$2:C$100;C2))>1Cette formule combinée compte combien de fois exactement le nom de C2 apparaît dans la plage C$2:C$100. Si le résultat est supérieur à 1, il y a un doublon. Le double tiret (--) convertit les valeurs booléennes en nombres pour que SOMMEPROD fonctionne correctement.
Vérification de codes de promotion avec format strict
=SI(EXACT(D2;"PROMO2024");"Code valide";"Code invalide")La formule vérifie si le code saisi en D2 correspond exactement à 'PROMO2024' en majuscules. Si oui, elle affiche 'Code valide', sinon 'Code invalide'. Cela garantit que seuls les codes avec le bon format et la bonne casse sont acceptés.
Points clés à retenir
- EXACT compare deux textes de manière stricte et sensible à la casse, retournant VRAI ou FAUX selon que les textes correspondent exactement
- Contrairement à l'opérateur =, EXACT distingue les majuscules des minuscules et les espaces parasites, ce qui en fait l'outil idéal pour valider des données critiques
- Combinez toujours EXACT avec TRIM pour éliminer les espaces invisibles qui causent des faux négatifs dans vos validations
- Pour ignorer la casse tout en gardant la rigueur d'EXACT, utilisez EXACT(UPPER(A2);UPPER(B2)) ou EXACT(LOWER(A2);LOWER(B2))
- EXACT est puissante en combinaison avec SI, SOMMEPROD, et les formatages conditionnels pour créer des systèmes de validation automatisés
Astuces de pro
Utilisez EXACT + TRIM ensemble pour les données importées. Les données provenant de fichiers CSV ou de bases de données externes contiennent souvent des espaces invisibles. =EXACT(TRIM(A2);TRIM(B2)) élimine ce problème automatiquement.
Impact : Réduit les faux négatifs dus aux espaces parasites et améliore la fiabilité de vos validations de 95% en moyenne.
Combinez EXACT avec SOMMEPROD pour détecter les doublons exacts dans une liste : =SOMMEPROD(--EXACT(A$2:A$100;A2))>1. Cela vous permet d'identifier rapidement les entrées dupliquées avec une correspondance exacte.
Impact : Permet de nettoyer des bases de données volumineuses en quelques secondes au lieu de vérifier manuellement.
Pour les validations de codes sensibles à la casse, créez une colonne de vérification avec =EXACT(A2;"CODE_ATTENDU") et filtrez sur FAUX pour voir rapidement les erreurs. Cela crée un système d'alerte automatique.
Impact : Augmente la détection des erreurs et réduit les risques d'accepter des codes invalides de 99%.
Utilisez EXACT dans les formatages conditionnels pour surligner les correspondances exactes : créez une règle avec =EXACT($A1;"VALEUR") pour mettre en couleur automatiquement les cellules correspondantes.
Impact : Facilite la visualisation des données et rend les rapports plus lisibles et professionnels.
Combinaisons utiles
EXACT + SI pour validation conditionnelle
=SI(EXACT(A2;B2);"Conforme";"Différence détectée")Cette combinaison crée une validation qui retourne un message personnalisé. Si les deux textes correspondent exactement, elle affiche 'Conforme', sinon 'Différence détectée'. Utile pour les rapports de contrôle qualité ou les vérifications de données.
EXACT + TRIM pour éliminer les espaces parasites
=EXACT(TRIM(A2);TRIM(B2))TRIM supprime tous les espaces superflus avant et après le texte. Cette combinaison garantit que les comparaisons ne sont pas faussées par des espaces invisibles. C'est la meilleure pratique pour valider des données provenant de sources externes où les espaces parasites sont courants.
EXACT + UPPER/LOWER pour comparaison case-insensitive avec rigueur
=EXACT(UPPER(A2);UPPER(B2))Cette combinaison convertit les deux textes en majuscules avant de les comparer avec rigueur. Elle permet de comparer en ignorant la casse tout en conservant la précision d'EXACT sur les espaces et caractères spéciaux. Idéale pour valider des codes ou identifiants où la casse varie.
Erreurs courantes
Cause : L'erreur #VALUE! apparaît rarement avec EXACT, mais peut survenir si vous passez un type de données incompatible ou si vous utilisez une syntaxe incorrecte avec un paramètre manquant. Par exemple : =EXACT(A2) sans deuxième paramètre.
Solution : Vérifiez que vous avez bien fourni exactement deux paramètres séparés par un point-virgule (;) ou une virgule selon les paramètres régionaux. Assurez-vous que les références de cellules existent et contiennent des données valides.
Cause : Cette erreur se produit si vous supprimez une colonne ou une ligne référencée dans la formule EXACT. Par exemple, si votre formule est =EXACT(A2;B2) et que vous supprimez la colonne B, la référence B2 devient invalide.
Solution : Restaurez la colonne supprimée ou modifiez la formule pour pointer vers des cellules valides. Utilisez des références absolues ($A$2;$B$2) si vous devez copier la formule pour éviter les décalages de références.
Cause : La cause la plus fréquente est la présence d'espaces invisibles au début ou à la fin des cellules. Par exemple, ' données' (avec espace au début) ne sera pas égal à 'données'. Les différences de casse sont aussi une cause courante : 'Excel' ≠ 'excel'.
Solution : Utilisez la fonction TRIM pour supprimer les espaces inutiles : =EXACT(TRIM(A2);TRIM(B2)). Pour ignorer la casse, utilisez plutôt la fonction SEARCH ou FIND, ou convertissez en majuscules avec UPPER : =EXACT(UPPER(A2);UPPER(B2))
Checklist de dépannage
- 1.Vérifiez qu'il n'y a pas d'espaces invisibles au début ou à la fin des cellules en utilisant LEN pour comparer les longueurs : =LEN(A2)=LEN(B2)
- 2.Confirmez que la casse correspond exactement, en particulier pour les identifiants. Utilisez EXACT(UPPER(A2);UPPER(B2)) si la casse ne doit pas avoir d'importance
- 3.Assurez-vous que les deux paramètres sont bien présents et séparés par un point-virgule (;) ou une virgule selon vos paramètres régionaux
- 4.Vérifiez les références de cellules pour vous assurer qu'elles ne sont pas supprimées ou décalées, surtout si vous avez inséré ou supprimé des lignes/colonnes
- 5.Testez avec des valeurs littérales entre guillemets pour isoler le problème : =EXACT("texte1";"texte1") doit toujours retourner VRAI
- 6.Utilisez la fonction FIND ou SEARCH pour identifier les caractères spéciaux ou accents qui pourraient causer des différences invisibles
Cas particuliers
Comparaison de nombres formatés différemment
Comportement : EXACT(1;1.0) peut retourner FAUX car les nombres sont convertis en texte selon leur représentation interne. '1' et '1.0' sont différents en tant que texte.
Solution : Utilisez la fonction TEXTE pour formater les deux nombres identiquement avant comparaison : =EXACT(TEXTE(A2;"0.00");TEXTE(B2;"0.00"))
Ce comportement est rarement problématique car les nombres sont généralement comparés avec l'opérateur =, pas EXACT.
Cellules contenant uniquement des espaces
Comportement : EXACT(" ";" ") retourne VRAI, mais EXACT(" ";" ") (un vs deux espaces) retourne FAUX. Les espaces sont traités comme des caractères significatifs.
Solution : Utilisez TRIM pour normaliser les espaces avant la comparaison : =EXACT(TRIM(A2);TRIM(B2)). Cela convertit les cellules d'espaces en cellules vides.
TRIM convertit les cellules contenant uniquement des espaces en cellules complètement vides, ce qui peut affecter votre logique de validation.
Comparaison de textes avec caractères spéciaux ou accents
Comportement : EXACT('café';'café') peut retourner FAUX si les accents sont codés différemment (é composé vs é précomposé en Unicode). C'est un problème courant avec les données importées.
Solution : Utilisez la fonction REGEX ou SUBSTITUTE pour normaliser les caractères avant comparaison. Alternativement, convertissez en majuscules : =EXACT(UPPER(A2);UPPER(B2)) car UPPER normalise souvent les accents.
Ce problème est particulièrement courant avec les données provenant de systèmes différents ou de fichiers PDF convertis.
Limitations
- •EXACT ne peut pas ignorer la casse nativement. Vous devez utiliser UPPER ou LOWER si vous voulez comparer en ignorant les majuscules/minuscules. Cela ajoute une étape supplémentaire et peut ralentir les calculs sur de grandes plages.
- •EXACT traite les nombres comme du texte après conversion, ce qui peut produire des résultats inattendus avec les décimales et la notation scientifique. Elle n'est pas adaptée pour comparer des nombres précis.
- •La fonction ne peut pas gérer les caractères spéciaux ou les accents mal encodés provenant de sources externes. Les données importées de systèmes différents peuvent avoir des représentations Unicode incompatibles.
- •EXACT retourne uniquement VRAI ou FAUX, sans information sur le type de différence détectée (casse, espaces, caractères). Pour un diagnostic détaillé, vous devez combiner avec d'autres fonctions comme LEN, FIND ou SEARCH.
Alternatives
Compatibilité
✓ Excel
Depuis Excel 2007
=EXACT(texte1; texte2) - Identique dans toutes les versions (2007, 2010, 2013, 2016, 2019, 365)✓Google Sheets
=EXACT(texte1, texte2) - Note : Google Sheets utilise la virgule au lieu du point-virgule comme séparateurFonctionne de manière identique à Excel. Les paramètres régionaux peuvent affecter le séparateur (virgule vs point-virgule).
✓LibreOffice
=EXACT(texte1; texte2) - Syntaxe identique à Excel avec point-virgule comme séparateur standard