cellule.Interior.ColorIndex

Le
Christian Herbé
Bonjour

J'ai besoin de colorier des cellules avec 5 niveaux de gris.
L'aide VBA m'en donne quelques uns mais je n'obtiens pas les couleurs
escomptées.
Une idée pour obtenir une echelle de 4 niveaux de gris allant du blanc
au noir : je cherche à repérer les valeur entre 600 et 1200 par pallier
de 200
???????????






For Each cellule In Range("A1").CurrentRegion
If cellule.Value < 600 Then
cellule.Interior.ColorIndex = xlColorIndexNone
End If

If cellule.Value >= 600 And cellule.Value < 800 Then
cellule.Interior.ColorIndex = 36
End If

If cellule.Value >= 800 And cellule.Value < 1000 Then
cellule.Interior.ColorIndex = 46
End If

If cellule.Value >= 1000 Then
cellule.Interior.ColorIndex = 1
End If

Next

End Sub
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
D.LAIR
Le #315968
Bonjour,
Pour les dégradés de gris, voir avec la fonction/propriété
RGB (3 paramètres entre 0 et 255, pour les composantes
Rouge+Verte+Bleue)... Mais il va falloir de la patience
pour trouver la teinte désirée.
Bon courage.
DL

-----Message d'origine-----
Bonjour

J'ai besoin de colorier des cellules avec 5 niveaux de
gris.

L'aide VBA m'en donne quelques uns mais je n'obtiens pas
les couleurs

escomptées.
Une idée pour obtenir une echelle de 4 niveaux de gris
allant du blanc

au noir : je cherche à repérer les valeur entre 600 et
1200 par pallier

de 200
???????????






For Each cellule In Range("A1").CurrentRegion
If cellule.Value < 600 Then
cellule.Interior.ColorIndex = xlColorIndexNone
End If

If cellule.Value >= 600 And cellule.Value < 800 Then
cellule.Interior.ColorIndex = 36
End If

If cellule.Value >= 800 And cellule.Value < 1000 Then
cellule.Interior.ColorIndex = 46
End If

If cellule.Value >= 1000 Then
cellule.Interior.ColorIndex = 1
End If

Next

End Sub


.



D.LAIR
Le #315946
Re-bonjour,
Précision supplémentaire, affecter les compsantes RGB à la
propriété ".INTERIOR.COLOR" et non plus
à ".INTERIOR.COLORINDEX"
Amicalement.
DL
-----Message d'origine-----
Bonjour

J'ai besoin de colorier des cellules avec 5 niveaux de
gris.

L'aide VBA m'en donne quelques uns mais je n'obtiens pas
les couleurs

escomptées.
Une idée pour obtenir une echelle de 4 niveaux de gris
allant du blanc

au noir : je cherche à repérer les valeur entre 600 et
1200 par pallier

de 200
???????????






For Each cellule In Range("A1").CurrentRegion
If cellule.Value < 600 Then
cellule.Interior.ColorIndex = xlColorIndexNone
End If

If cellule.Value >= 600 And cellule.Value < 800 Then
cellule.Interior.ColorIndex = 36
End If

If cellule.Value >= 800 And cellule.Value < 1000 Then
cellule.Interior.ColorIndex = 46
End If

If cellule.Value >= 1000 Then
cellule.Interior.ColorIndex = 1
End If

Next

End Sub


.



Modeste
Le #315912
Bonjour Christian et Haraucourt !!!
pour avoir des dégradés de gris ou d'une autre couleur,
il va te falloir modifier la palette EXCEL
cette palette modifiée une fois crée peut etre utilisée si
le classeur qui la contient est ouvert,
dans ce cas il suffit d'exécuter une macro du genre :


Sub paletteperso()
' Macro enregistrée par GeeDee
ActiveWorkbook.Colors = Workbooks("gdpalette.xls").Colors

End Sub

pour l'occasion tu peux récuperer sur excelabo le
classeur :
http://disciplus.simplex.free.fr/classeursxl/gd-
xlcolors.zip

et activer soit :
la palette arc-en-ciel qui contient 8 niveaux de gris
(index 49 noir à 56 blanc)
ou bien :
la palette camayeux gris qui contient 56 niveaux de gris
de 1 noir à 56 blanc


pour simplifier :
Option Base 1
Public tblrgb() As Long

il te suffit ensuite de generer une table de 56 codes RGB
puis :
ThisWorkbook.Colors = tblrgb()

pour revenir à la palette standard
ExecuteExcel4Macro "COLOR.PALETTE("""")"

@+




-----Message d'origine-----
Bonjour,
Pour les dégradés de gris, voir avec la
fonction/propriété

RGB (3 paramètres entre 0 et 255, pour les composantes
Rouge+Verte+Bleue)... Mais il va falloir de la patience
pour trouver la teinte désirée.
Bon courage.
DL

-----Message d'origine-----
Bonjour

J'ai besoin de colorier des cellules avec 5 niveaux de
gris.

L'aide VBA m'en donne quelques uns mais je n'obtiens pas
les couleurs

escomptées.
Une idée pour obtenir une echelle de 4 niveaux de gris
allant du blanc

au noir : je cherche à repérer les valeur entre 600 et
1200 par pallier

de 200
???????????






For Each cellule In Range("A1").CurrentRegion
If cellule.Value < 600 Then
cellule.Interior.ColorIndex = xlColorIndexNone
End If

If cellule.Value >= 600 And cellule.Value < 800 Then
cellule.Interior.ColorIndex = 36
End If

If cellule.Value >= 800 And cellule.Value < 1000
Then


cellule.Interior.ColorIndex = 46
End If

If cellule.Value >= 1000 Then
cellule.Interior.ColorIndex = 1
End If

Next

End Sub


.

.





michdenis
Le #315907
Bonjour Chistian,

Pour modifier la palette des couleurs de base d'excel


Barre des menus / outils / options / onglet couleur
Un clic sur le bouton "modifier"
Sélectionne "Onglet personnalisé"

Sélectionne 4 tons de gris que tu désires et note les paramètres Rouge, Vert et Bleu des couleurs retenues qui apparairent
dans le bas de la fenêtre.

Dans une petite procédure : Les index (tu as le choix entre 1 et 56) choisis sont aléatoires, Utilise et modifie ceux qui
auront le moins d'incidence pour le reste de ton projet. Après l'exécution de cette procédure, tu pourras utiliser les index
que tu auras choisis pour modifier la couleur de tes cellules par une ligne de code : Range("A1").Interior.ColorIndex = X

'---------------------------
Sub LesTonsDeGris()

'Remplace Rouge,Vert,Bleu par les paramètres que
'tu as retenu précédemment.

ThisWorkbooks.colors(40) = Rgb(Rouge,Vert,Bleu)
ThisWorkbooks.colors(41) = Rgb(Rouge,Vert,Bleu)
ThisWorkbooks.colors(42) = Rgb(Rouge,Vert,Bleu)
ThisWorkbooks.colors(43) = Rgb(Rouge,Vert,Bleu)

End sub
'---------------------------


Salutations!


"Christian Herbé" Bonjour

J'ai besoin de colorier des cellules avec 5 niveaux de gris.
L'aide VBA m'en donne quelques uns mais je n'obtiens pas les couleurs
escomptées.
Une idée pour obtenir une echelle de 4 niveaux de gris allant du blanc
au noir : je cherche à repérer les valeur entre 600 et 1200 par pallier
de 200
???????????






For Each cellule In Range("A1").CurrentRegion
If cellule.Value < 600 Then
cellule.Interior.ColorIndex = xlColorIndexNone
End If

If cellule.Value >= 600 And cellule.Value < 800 Then
cellule.Interior.ColorIndex = 36
End If

If cellule.Value >= 800 And cellule.Value < 1000 Then
cellule.Interior.ColorIndex = 46
End If

If cellule.Value >= 1000 Then
cellule.Interior.ColorIndex = 1
End If

Next

End Sub
Publicité
Poster une réponse
Anonyme