Changer la couleur du texte en fonction du contenu de la cellule [Résolu]

Signaler
Messages postés
4
Date d'inscription
lundi 23 juin 2008
Statut
Membre
Dernière intervention
27 août 2010
-
Messages postés
4
Date d'inscription
jeudi 12 juin 2008
Statut
Membre
Dernière intervention
23 juin 2008
-
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

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Salut,
Pour changer la couleur du texte c'est c.Font.ColorIndex

@+: Ju£i€n
Pensez: Réponse acceptée
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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
Messages postés
4
Date d'inscription
jeudi 12 juin 2008
Statut
Membre
Dernière intervention
23 juin 2008

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 !
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
JRivet t'as donné l'instruction à utiliser

@++

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

??????????????????????
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
c.Font.ColorIndex = 0

@++

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

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

c.Font.ColorIndex = 0

@++

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

Tu es GENIAL merci merci et encore merci