Colorer le Fond de la cellule en fonction de la 1ère lettre du mot

  • Initiateur de la discussion Initiateur de la discussion aubelix
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

aubelix

XLDnaute Impliqué
Bonsoir à tous les amis du Forum. 🙂

Une nouvelle question relative au format de cellule.
Comment colorer le fond de la cellule en fonction de la 1ère lettre du mot.
Si possible, je sélectionne les mots et je lance la macro.
Comme la macro de Jacques BOISGONTIER pour la coloration de la 1ère lettre.

Sub essai()
For Each c In Selection
c.Characters(Start:=1, Length:=1).Font.ColorIndex = 3
c.Characters(Start:=1, Length:=1).Font.Bold = True
Next
End Sub



Par avance, Merci pour votre aide.
Cordialement.
 

Pièces jointes

Re : Colorer le Fond de la cellule en fonction de la 1ère lettre du mot

Bonjour tous

EDITION: ce serait plus ce genre code qui répond mieux à ta question
Code:
Sub essai2()
Dim c As Range
For Each c In Selection
If c.Characters(Start:=1, Length:=1).Font.ColorIndex = 3 Then
c.Interior.ColorIndex = 6
End If
Next
End Sub
 
Dernière édition:
Re : Colorer le Fond de la cellule en fonction de la 1ère lettre du mot

Bonjour Aubélix, Vbacrumble, bonjour le forum,

une proposition masi je ne suis pas vraiment sûr d'avoir compris ta question...
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim cel As Range
If Target.Column <> 3 Then Exit Sub
For Each cel In Selection
    cel.Interior.ColorIndex = Asc(Left(cel.Value, 1)) - 50
Next cel
End Sub
 
Re : Colorer le Fond de la cellule en fonction de la 1ère lettre du mot

Bonjour,

Perso, ma compréhension est légèrement différente ...
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Characters(Start:=1, Length:=1).Font.ColorIndex = 3
Target.Characters(Start:=1, Length:=1).Font.Bold = True
Target.Interior.ColorIndex = Int((6 * Rnd()) + 1) + 37
End Sub

A+
 
Re : Colorer le Fond de la cellule en fonction de la 1ère lettre du mot

Bonsoir VbaCrumble, Robert. 🙂

Merci pour vos réponses.

Vba crumble, le code j'avais posté était un exemple pour le type de macro
que je cherchais à obtenir, à savoir en sélectionnant les données colorer
le fond des cellules comme la fait <robert.
Mais il y'a un souci avec ton code Robert : je ne souhaite pas que ce soit
dans Worksheet_SelectionChange, mai je dois sélectionner les données à colorer.
Et uniquement les 1ères lettres des mots que je vous ai données en exemple.
1 lettre = 1 couleur de Fond pour les lettres en exmples : A - D - N - T - V

J'espère avoir été clair dans mes explications.

Dans l'attente de votre aide.
Cordialement
 
Re : Colorer le Fond de la cellule en fonction de la 1ère lettre du mot

bonsoir a tous

ma version

Code:
Sub essai()
For Each c In Selection
c.Characters(Start:=1, Length:=1).Font.ColorIndex = 3
c.Characters(Start:=1, Length:=1).Font.Bold = True
c.Interior.ColorIndex = Asc(Left(c, 1)) - 60
Next
End Sub

ou peut-etre seulement

Code:
Sub essai()
For Each c In Selection
c.Interior.ColorIndex = Asc(Left(c, 1)) - 60
Next
End Sub
 
Dernière édition:
Re : Colorer le Fond de la cellule en fonction de la 1ère lettre du mot

Bonsoir,

Code:
Sub CoulFond()
   For Each c In Selection
     c.Interior.ColorIndex = [lettre].Find(Left(c, 1) & "*", LookAt:=xlWhole).Interior.ColorIndex
   Next
End Sub

JB
 

Pièces jointes

Re : Colorer le Fond de la cellule en fonction de la 1ère lettre du mot

Bonsoir Pierrejean et Jacques.

Merci pour vos réponses.

Vos codes fonctionnent très bien.
Mais j'opterai pour celui de Jacques, car il correspond aux coleurs que j'ai choisies.
Une parenthèse, comment as-tu obtenu les couleurs avec si peu de lignes de code.
Peux-tu STP nous expliquer ton code.

Par avance Merci.
Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour