Emmanuel aimerait savoir comment il peut utiliser la mise en forme conditionnelle pour mettre en évidence une cellule si cette cellule contient un mélange de chiffres et de lettres. S’il contient toutes les lettres ou tous les chiffres, la cellule ne doit pas être mise en surbrillance.

Dans cette astuce, je ne me concentrerai pas sur la création d’un format conditionnel; il y a eu beaucoup d’autres ExcelTips qui se sont concentrés sur cette tâche. Je vais me concentrer sur quelques formules que vous pouvez utiliser pour définir la règle de mise en forme conditionnelle. La formule doit examiner la valeur de la cellule et renvoyer «True» si elle contient à la fois des lettres et des chiffres, et «False» dans toutes les autres instances.

Voici trois formules différentes que vous pouvez essayer dans la règle:

=SUM(IFERROR(FIND(ROW($1:$10)-1,A1),))*ISTEXT(A1)

=AND(ISTEXT(A1),MATCH(FALSE,ISERROR(1*MID(A1,ROW(INDIRECT("1:15")),1)),0))

=AND(SUM(--(ISNUMBER(--MID(A1,ROW(INDIRECT("A1:A"&LEN(A1))),1)))),ISTEXT(A1))

Chacune de ces formules fonctionne très bien (je choisirais personnellement d’utiliser la plus courte – moins de frappe!), Mais il y a un inconvénient potentiel. Si vous avez des chiffres numériques stockés dans une cellule et que la cellule est mise en forme en tant que texte, les formules renverront toujours «Vrai» et le format conditionnel est appliqué. Cela se produit car chacune des formules utilise la fonction ISTEXT, qui examine le format de la cellule pour voir si elle contient du texte.

Le moyen le plus simple de contourner ce potentiel «faux positif» est de créer une fonction définie par l’utilisateur (une macro) qui peut ensuite être référencée dans votre règle de mise en forme conditionnelle. Voici un UDF très simple qui renvoie « True » uniquement si le contenu de la cellule (pas son format) contient à la fois des lettres et des chiffres:

Function CheckChars(r As Range) As Boolean     CheckChars = False     If r Like "#" And UCase(r) Like "[A-Z]" Then CheckChars = True End Function

Pour l’utiliser dans votre règle de mise en forme conditionnelle, utilisez simplement cette formule:

=CheckChars(A1)

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (13422) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.