On va apprendre à appliquer une mise en forme conditionnelle dans Excel même lorsque les données contiennent du texte, ici avec des nombres entre parenthèses. Une méthode simple avec les fonctions modernes TEXTE.APRES(), TEXTE.AVANT() et SUBSTITUE() pour gagner en clarté et en productivité.
Voici le fichier.
Le problème
Dans Excel, tout va bien… jusqu’à ce que les données deviennent un peu “sales”.
On veut colorer des cellules selon leur valeur, mais elles ressemblent à ça :
Texte (50) et le résultat final est (29)
Excel, lui, ne comprend pas : il voit du texte, pas un nombre.
Résultat : la mise en forme conditionnelle ne fonctionne pas.
L’approche
Avant de colorier, on doit d’abord isoler le nombre.
L’idée, c’est de découper le problème en deux étapes :
- Extraire la partie numérique du texte, ici, on veut la dernière valeur entre parenthèses.
- La convertir pour qu’Excel la reconnaisse comme une valeur.
Cette approche permet de travailler proprement et d’éviter les erreurs de formatage.
Les fonctions-clés à utiliser
Excel 365 propose aujourd’hui des fonctions très puissantes pour manipuler du texte.
Voici les trois incontournables :
TEXTE.APRES()? extrait ce qui se trouve après un délimiteur (ici, la parenthèse ouvrante).
Astuce : en ajoutant -1 à TEXTE.APRES(), on récupère le dernier élément trouvé, parfait pour des textes pouvant contenir des parenthèses.
Et ensuite, au choix:
TEXTE.AVANT()? récupère ce qui se trouve avant un délimiteur (la parenthèse fermante après extraction avec TEXTE.APRES).SUBSTITUE()? supprime les caractères inutiles du texte, par exemple, la ")". Déjà présent dans les anciennes versions d'Excel.
Enfin, on multiplie le résultat par 1 pour forcer Excel à interpréter le texte comme un nombre :
=(1*TEXTE.AVANT(TEXTE.APRES(E2;"(";-1);")"))>=$C$4
ou alors
=(1*SUBSTITUE(TEXTE.APRES(E2;"(";-1);")";""))<$C$3
La mise en forme conditionnelle
Une fois la valeur numérique extraite, on peut appliquer une mise en forme conditionnelle classique suivante.
Le reste des cellules est colorié en orange. On aurait aussi pu ajouter encore une autre condition, mais dans ce cas, ca n'est pas nécessaire.

Le résultat
Le tableau devient clair, visuel et dynamique, sans macro ni formule complexe.
Même quand les données ne sont pas parfaites, Excel fait le job proprement.
Bonus, cette approche va aussi fonctionner:
=PRENDRE(FRACTIONNER.TEXTE(A1;;{"(";")"};VRAI);-1)