Tutoriels > Tutoriels & Astuces Excel > Fonctions & Formules > EXACT() - Comparer deux chaînes de texte

EXACT() - Comparer deux chaînes de texte

Publié par Mth le 26-04-2010 (172638 lectures)

 

La fonction EXACT() permet de comparer deux chaînes de texte, elle renvoie VRAI si les chaînes sont identiques, et FAUX dans le cas contraire.


Cette fonction n'est pas sensible au format des données mais elle respecte la casse ou les accents, et elle s'avère très utile notamment pour contrôler des saisies.

Syntaxe: 

EXACT(texte1;texte2)

  • texte1 et texte2  représentent les deux chaînes de texte à comparer.



Exemples
Trait bleu

 

Le tableau ci-dessous montre tout l'intérêt de la fonction EXACT() lorsque l'on veut comparer des chaînes de caractères en tenant compte de la casse.



La simple formule en ligne 2 renvoie VRAI, alors que EXACT() sait faire la distinction :

Fonction EXACT()

La fonction EXACT() n'est pas sensible au format et n'a pas d'intérêt pour comparer des nombres:
Fonction EXACT()


 

Mettre en place un contrôle de saisie

Trait bleu

Dans le tableau ci-dessous nous souhaitons saisir les Noms en lettres majuscules, les Prénoms sous format noms propres, et les Résultats en lettres minuscules.
Fonction EXACT()


Pour éviter une saisie utilisateur dans un mauvais format, mettons en place des contrôles (dans notre exemple le tableau à remplir va jusqu'à la ligne 50)

 

• Saisie des noms en MAJUSCULE

Une fois les cellules A2 à A50 sélectionnées, il convient de cliquer sur le menu Données / Validation (pour Excel 2007, Onglet Données, Groupe Outils de données, cliquer sur Validation des données).


Cette action provoque l'apparition de la fenêtre "Validation des données", nous sélectionnons l'onglet Options puis cliquons sur la petite flèche Autoriser pour choisir Personnalisé dans le menu déroulant:
 
Fonction EXACT() - Validation données

Renseignons ensuite la formule qui va permettre de contrôler la saisie:
Fonction EXACT()  Validation données
=EXACT(A2;MAJUSCULE(A2))

Cette formule de contrôle va s'appliquer à toutes les cellules que nous avons précédemment sélectionnées, et va comparer le contenu de la cellule avec le même contenu mis en majuscule, soit MAJUSCULE(A2).
La saisie ne sera valide que si la fonction EXACT() renvoie VRAI.

Nous pouvons compléter la fenêtre de validation de données en sélectionnant l'onglet Alerte Valeur:
Fonction EXACT() Validation données
 

Au niveau du style, nous avons sélectionné ici « Arrêt » pour que la saisie soit impossible en cas d'erreur.

(A ce stade nous pourrions choisir « Avertissement » au lieu de « Arrêt », cette option n'interdit pas la saisie mais affiche une fenêtre d'avertissement et demande confirmation; ou encore « Information » qui est encore plus souple et n'interdit pas non plus la saisie, mais renvoie une simple fenêtre d'information permettant de confirmer la saisie ou pas)


Une fois le style choisi, nous rentrons un message d'erreur comme ci-dessus, ce message s'affichera dans la fenêtre d'alerte pour expliquer l'erreur à l'utilisateur:
Fonction EXACT() Validation données

Il est conseillé de renseigner ce message d'erreur, sans quoi la fenêtre affiche un message par défaut qui n'est pas forcément très explicite:
 
Fonction EXACT()  Validation données


• Saisie des noms au format Nom Propre

La procédure est exactement la même que ci-dessus, mais on fera appel cette fois à la fonction NOMPROPRE(), la formule devenant :

 

=EXACT(B2;NOMPROPRE(B2))


• Saisie des noms en lettres minuscules

Même cheminement que ci-dessus, avec la fonction MINUSCULE(), la formule étant:

 

=EXACT(C2;MINUSCULE(C2))

 

Pour en savoir plus sur les fonctions MINUSCULE() MAJUSCULE() et NOMPROPRE() vous pouvez consulter l'article MAJUSCULE() - MINUSCULE() - NOMPROPRE(): Modifier la casse d'un texte et également télécharger le fichier d'exercices corrigés traitant de ces fonctions.



 

Effectuer des calculs:

Trait bleu

EXACT() peut-être conjuguée avec d'autres fonctions afin d'effectuer des calculs.
Dans l'exemple ci-dessous nous souhaitons connaître combien de fois apparaît le mot « FIN  » écrit en lettres majuscules :

Fonction EXACT()
=SOMMEPROD(EXACT(A2:A6;"FIN")*1)

Cette formule renvoie ici 1.


Trait bleu

Pour aller plus loin, vous trouverez quelques exemples de calcul et contrôles de saisies sous formes d'exercices suivis de leurs corrigés détaillés dans le fichier qui accompagne cet article.

Extrait du fichier d'exercices:
 
Fonction EXACT() Exercices Corrigés
 
Téléchargez le fichier d'exercices corrigés

Pour toutes vos questions ou si vous rencontrez des difficultés, n'hésitez pas à rejoindre nos Forums de Discussions !

 

Autres articles dans cette catégorie Publié le Vues
Rechercher une Fonction 28-05-2013 10523
T() - Tester et renvoyer du texte 02-07-2012 31278
EPURAGE() - Supprimer certains caractères indésirables 02-06-2012 86815
REMPLACER() - Echanger une chaîne de caractères par une autre 02-06-2012 30501
CTXT() - Convertir un nombre en texte 23-05-2012 84878
REPT() - Répéter des caractères un certain nombre de fois 26-04-2012 42044
L'Assistant Somme Conditionnelle 01-11-2011 17077
CELLULE() - Nom de l'onglet, du fichier ou du répertoire dans une cellule 03-10-2010 161645
EXACT() - Comparer deux chaînes de texte 26-04-2010 172639
Purgez les espaces inutiles ! 05-04-2010 210862
SUPPRESPACE() - Supprimer les espaces inutiles dans une cellule 05-04-2010 109408
STXT() - Extraire une chaîne de caractères au sein d'une autre 13-03-2010 398503
CHERCHE() TROUVE() - Retourne la position d'une chaîne de caractères 04-01-2010 187336
NBCAR() - Compter les caractères d'une chaîne de texte ou d'une plage de cellules 21-11-2009 46264
SUBSTITUE() - Remplacer une chaîne de texte par une autre 08-11-2009 210758
CAR() - CODE() : Utilisation des codes caractères 25-10-2009 78037
CONCATENER() - Assembler plusieurs chaînes de texte en une seule. 10-10-2009 45113
TEXTE() - Convertir une valeur numérique en texte formaté 29-09-2009 140050
DROITE() - GAUCHE() : Extraire les premiers ou derniers caractères d'une chaîne. 12-09-2009 490200
MAJUSCULE() - MINUSCULE() - NOMPROPRE(): Modifier la casse d'un texte 23-08-2009 13777
CNUM() - Convertir une chaîne en valeur numérique 19-08-2009 103576
DATEDIF() : Calculer la différence entre deux dates 26-07-2009 368651
Nommer une Plage Dynamique 06-12-2008 100895
Nommer une Plage de Cellules 05-12-2008 104676
Références Relatives & Absolues 05-12-2008 24640
Formule pour Nombres Premiers 29-08-2007 27441