Mise en Forme conditionnelle sur premier caractère

Tomci

XLDnaute Nouveau
Bonjour à tous,

Je suis face à un problème à priori simple mais que je n'arrive pas à résoudre.
Je souhaite mettre les cellules de mon tableau d'une couleur différente en fonction du premier caractère du code.

J'ai une colonne contenant des codes de type : A21 ; B42 ; C12...
Et je souhaite mettre par exemple en bleu toutes les cellules dont le code commence par A (et ce peu importe le chiffre qui suit la lettre), mais je n'y parviens pas avec la mise en forme conditionnelle (j'ai essayé de mettre =A** par exemple mais ça ne fonctionne pas).
Je vous remercie par avance pour votre aide.
Thomas
 

Tomci

XLDnaute Nouveau
Re : Mise en Forme conditionnelle sur premier caractère

Bonjour Hasco,
Et merci pour ta réponse.
J'ai essayé ta solution et malheureusement ça ne fonctionne pas. Je ne sais pas vraiment pourquoi.
Et j'aimerais appliquer une mise en forme conditionnelle à toute ma colonne de code.
J'ai essayé la formule GAUCHE dans une autre cellule, et pas de problème, elle me renvoie bien la première valeur de mon code, soit le A (ou le B,...en fonction du code), mais ça ne fonctionne pas lorsque je le fais dans la mise en forme conditionnelle comme tu me l'as indiqué, à moins que je n'ai pas fait exactement ce qu'il fallait, je ne sais pas. As-tu toi même tester avec succès cette procédure ?
Merci d'avance.
Thomas
 

Calvus

XLDnaute Barbatruc
Re : Mise en Forme conditionnelle sur premier caractère

Bonjour le forum, bonjour Hasco, Tomci,

Hasco, y a t-il un moyen, par format personnalisé, de ne colorer que le "a" dans les cellules. Il semble qu'on puisse pouvoir le faire pour les nombres d'après l'aide d'excel, mais je ne trouve pas comment.

Ce qui afficherait par exemple :
A21
B12

Merci
 

Calvus

XLDnaute Barbatruc
Re : Mise en Forme conditionnelle sur premier caractère

Re,

Tomci,

Tu entres la formule comme l'a expliqué Hasco dans le format conditionnel de ta 1ère cellule, celle qui contient le 1er A. Tu choisis le format à adapter, tu valides, et ensuite tu fais un copiage spécial (le pinceau) sur le reste de la colonne, vers le bas. Et là, ça doit fonctionner.

A+
 
G

Guest

Guest
Re : Mise en Forme conditionnelle sur premier caractère

Re,

Thomas, oui j'ai testé,comme dans 99.5% de mes réponses avant de poster. S'il y a problème, joint un fichier exemple.

Calvus à dit:
y a t-il un moyen, par format personnalisé, de ne colorer que le "a" dans les cellules

Pas à ma connaissance en tous cas, pas plus pour des caractères uniques et numériques que pour des caractères uniques et alphabétiques.

A+
 

Tibo

XLDnaute Barbatruc
Re : Mise en Forme conditionnelle sur premier caractère

Bonjour le Fil,

Sous réserve d'avoir bien compris la demande, une Mise en Forme Conditionnelle ou un format personnalisé s'applique à une (ou des) cellule(s), et donc à tout son contenu.

Par VBA, c'est sans doute faisable de ne colorier que le premier caractère, mais je ne sais pas faire.

Voir sur le Forum en faisant une recherche. Par exemple ce fil :

https://www.excel-downloads.com/threads/colorier-une-partie-dune-chaine-de-caractere.110018/

Mais il doit y en avoir d'autres

@+

Edit : en relisant, je crois bien que je n'ai pas compris ... :eek::eek:

@+
 

Efgé

XLDnaute Barbatruc
Re : Mise en Forme conditionnelle sur premier caractère

Bonjour a Tous,
Une proposition pour ne colorer que le premier caractère d'une cellule:
Code:
[COLOR=blue]Private Sub[/COLOR] Worksheet_Change([COLOR=blue]ByVal[/COLOR] Target [COLOR=blue]As[/COLOR] Range)
[COLOR=blue]If[/COLOR] Intersect(Target, Range("A1:A20")) [COLOR=blue]Is Nothing Then Exit Sub[/COLOR]
[COLOR=blue]Select Case[/COLOR] Left(Target.Value, 1)
    [COLOR=blue]Case[/COLOR] "A"
        Coul = 3
    [COLOR=blue]Case[/COLOR] "B"
        Coul = 5
    [COLOR=blue]Case Else[/COLOR]
        Coul = XlAutomatique
[COLOR=blue]End Select[/COLOR]
Target.Characters(1, 1).Font.ColorIndex = Coul
Target.Characters(2, Len(Target)).Font.ColorIndex = XlAutomatique
[COLOR=blue]End Sub[/COLOR]

Une version pour tout colorer:
Code:
[COLOR=blue]Private Sub[/COLOR] Worksheet_Change([COLOR=blue]ByVal[/COLOR] Target [COLOR=blue]As[/COLOR] Range)
[COLOR=blue]If[/COLOR] Intersect(Target, Range("A1:A20")) [COLOR=blue]Is Nothing Then Exit Sub[/COLOR]
[COLOR=blue]Select Case[/COLOR] Left(Target.Value, 1)
    [COLOR=blue]Case[/COLOR] "A"
        Coul = 3
    [COLOR=blue]Case[/COLOR] "B"
        Coul = 5
    [COLOR=blue]Case Else[/COLOR]
        Coul = XlAutomatique
[COLOR=blue]End Select[/COLOR]
Target.Font.ColorIndex = Coul
[COLOR=blue]End Sub[/COLOR]
Cordialement
 

Pièces jointes

  • MFC_sur_premier_caractère(2).xls
    25 KB · Affichages: 127

JNP

XLDnaute Barbatruc
Re : Mise en Forme conditionnelle sur premier caractère

Bonjour le fil :),
J'avoue qu'il m'arrive de saisir plusieurs fois ma MFC en formule, avant qu'Excel ne l'accepte correctement.
D'où un petit fichier avec la solution d'Hasco que j'ai eu d'ailleurs un peu de mal à mettre en place :rolleyes:.
Bonne journée :cool:
 

Pièces jointes

  • MFC 1 lettre.xls
    28.5 KB · Affichages: 160

Tomci

XLDnaute Nouveau
Re : Mise en Forme conditionnelle sur premier caractère

Merci Hasco et Calvus, tout fonctionne très bien maintenant. C'est juste un peu dommage de ne pouvoir mettre plus de 3 conditions, surtout que je ne voulais pas me compliquer car ça reste un tableau très simple.
Merci encore et longue vie à ce forum et à ses membres :)
 

D.D.

XLDnaute Impliqué
Re : Mise en Forme conditionnelle sur premier caractère

J'ai une colonne contenant des codes de type : A21 ; B42 ; C12...
Et je souhaite mettre par exemple en bleu toutes les cellules dont le code commence par A (et ce peu importe le chiffre qui suit la lettre), ...
Hello,

=Gauche(XY;1)="A" dans le format fonctionne.

Voir exemple ci dessous.

DD
(Qui n'a peut être pas tout compris....)
 

Pièces jointes

  • MFC premier caractère.xls
    16.5 KB · Affichages: 259

Discussions similaires

Statistiques des forums

Discussions
312 839
Messages
2 092 695
Membres
105 511
dernier inscrit
karimdauphins