Changer la couleur du texte en fonction du contenu de la cellule

Résolu
cs_philbel
Messages postés
4
Date d'inscription
lundi 23 juin 2008
Statut
Membre
Dernière intervention
27 août 2010
- 23 juin 2008 à 09:56
phbelleville
Messages postés
4
Date d'inscription
jeudi 12 juin 2008
Statut
Membre
Dernière intervention
23 juin 2008
- 23 juin 2008 à 13:24
Bonjour,
Je travaille suer Excel 2003. Dans une macro qui édite une ciquantaine de feuilles dont les paramètres changent à chaque feuille, je dois changer la couleur du texte et du font en fonction de contenu de la cellule.
J'ai bien trouver le moyen de changer la couleur du fond si la valeur et numérique mais je ne réussi pas à le reproduire quand c'est du texte.
Sub couleur_cellules()
'
' couleur_cellules Macro
' Macro enregistrée le 16/06/2008 par philippe.belleville
' Raffraichissement de couleur


    Range("BF17:BF36").Select
    Selection.Copy
    Range("I17,L17,O17,R17,U17,X17,AA17,AD17,AG17,AJ17,AM17,AP17,AS17,AV17").Select
    Range("AV17").Activate
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
' changement des couleurs
    Range( _
        "I17:I36,l17:l36,O17:O36,R17:R36,U17:U36,X17:X36,AA17:AA36,AD17:AD36,AG17:AG36,AJ17:AJ36,AM17:AM36,AP17:AP36,AS17:AS36,AV17:AV36" _
        ).Select


For Each c In Selection
Select Case (c)
Case 1: c.Interior.ColorIndex = 30 '"1"
Case 2: c.Interior.ColorIndex = 25 '"2"
Case 3: c.Interior.ColorIndex = 46 '"3"
Case 4: c.Interior.ColorIndex = 10 '"4"
Case 5: c.Interior.ColorIndex = 7  '"5"
Case 6: c.Interior.ColorIndex = 45  '"6"


End Select




Next
End Sub
Par contre pour changer la couleur du texte je bloque.
Merci d'avance pour l'aide

9 réponses

jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
23 juin 2008 à 10:57
Salut,
Pour changer la couleur du texte c'est c.Font.ColorIndex

@+: Ju£i€n
Pensez: Réponse acceptée
3
mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
23 juin 2008 à 11:34
salut,

pour déterminer le type de la cellule, utilise mon snippet :
http://www.codyx.org/snippet_determiner-type-cellule-excel-donnee-parametre_330.aspx

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
phbelleville
Messages postés
4
Date d'inscription
jeudi 12 juin 2008
Statut
Membre
Dernière intervention
23 juin 2008

23 juin 2008 à 12:52
Merci à vous, vous êtes  sympa !
Dans le même ordre d'idée, je voudrais ajouter une condition ( si la valeur est 6 il faudrait que le texte soit écrit en noir ) à cette macro 

Sub couleur_cellules()
'
' couleur_cellules Macro
' Macro enregistrée le 16/06/2008 par philippe.belleville
' Raffraichissement de couleur
    Range("BF17:BF36").Select
    Selection.Copy
    Range("I17,L17,O17,R17,U17,X17,AA17,AD17,AG17,AJ17,AM17,AP17,AS17,AV17").Select
    Range("AV17").Activate
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
' changement des couleurs
    Range( _
        "I17:I36,l17:l36,O17:O36,R17:R36,U17:U36,X17:X36,AA17:AA36,AD17:AD36,AG17:AG36,AJ17:AJ36,AM17:AM36,AP17:AP36,AS17:AS36,AV17:AV36" _
        ).Select

For Each c In Selection
Select Case (c)
Case 1: c.Interior.ColorIndex = 30 '"1"
Case 2: c.Interior.ColorIndex = 25 '"2"
Case 3: c.Interior.ColorIndex = 46 '"3"
Case 4: c.Interior.ColorIndex = 10 '"4"
Case 5: c.Interior.ColorIndex = 7  '"5"
Case 6: c.Interior.ColorIndex = 45  '"6"

End Select

Next
End Sub

Vous seriez géniaux !
0
mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
23 juin 2008 à 12:56
JRivet t'as donné l'instruction à utiliser

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
phbelleville
Messages postés
4
Date d'inscription
jeudi 12 juin 2008
Statut
Membre
Dernière intervention
23 juin 2008

23 juin 2008 à 12:57
??????????????????????
0
mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
23 juin 2008 à 13:02
c.Font.ColorIndex = 0

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
phbelleville
Messages postés
4
Date d'inscription
jeudi 12 juin 2008
Statut
Membre
Dernière intervention
23 juin 2008

23 juin 2008 à 13:11
Merci mortalino mais comme je fais pour dire que cette couleur doit s'appiquer si la valeur est "6" ???
0
mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
23 juin 2008 à 13:15
if c.Value = 6 then

c.Font.ColorIndex = 0

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
phbelleville
Messages postés
4
Date d'inscription
jeudi 12 juin 2008
Statut
Membre
Dernière intervention
23 juin 2008

23 juin 2008 à 13:24
Tu es GENIAL merci merci et encore merci
0