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 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
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
Rejoignez-nous