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

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

  • COLORER LE FOND EN FONCTION DE LA 1ERE LETTRE.xls
    27 KB · Affichages: 85

vbacrumble

XLDnaute Accro
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:

Robert

XLDnaute Barbatruc
Repose en paix
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
 

James007

XLDnaute Barbatruc
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+
 

aubelix

XLDnaute Impliqué
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
 

pierrejean

XLDnaute Barbatruc
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:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
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

  • Colorier.xls
    48 KB · Affichages: 146
  • Colorier.xls
    48 KB · Affichages: 146
  • Colorier.xls
    48 KB · Affichages: 143

aubelix

XLDnaute Impliqué
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.
 

BOISGONTIER

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

Les couleurs sont définies dans l'onglet lettres

JB
 

Pièces jointes

  • Colorier.xls
    40.5 KB · Affichages: 89
  • Colorier.xls
    40.5 KB · Affichages: 89
  • Colorier.xls
    40.5 KB · Affichages: 91

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83