couleur alternée

  • Initiateur de la discussion zardek
  • Date de début
Z

zardek

Guest
bonjour, j'iemrais savoir si qqun sait comment on fait pour alterner une couleur lors d'un changement de valeur

le test du changement de valeur sera appliqué sur une seule cellule, mais j'aimerais que la couleur change sur toute la linge...


voilà, un exemple:
saber rouge
saber rouge
saber rouge
saber rouge
nico bleu
nico bleu
mike rouge
mike rouge
mike rouge


voilà, je n'ai une liste de valeur a la quelle je peux affecter les couleur dés le début...
je veux donc,que ça detecte un changement de valeur et que ça alterne automatiquement la couleur ...

j'espére que c'est assez clair.
merci d'avance.

merci a vous tous
j'attends de vos nouvelles
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

Voici une macro qui te le fais sur une plage déjà tapée

sub couleurligne()

Dim x As Integer
Dim macouleur As Byte

macouleur = 3

For x = 1 To Range('A65536').End(xlUp).Row
Range('A' & x & ':G' & x).Interior.ColorIndex = macouleur
If Range('A' & x) <> Range('a' & x + 1) Then
macouleur = IIf(macouleur = 3, 33, 3)
End If
Next

end sub

Je t'ai colorié jusqu'à la colonne G à toi de modifier
 
Z

zardek

Guest
ça marche !!
merci bien
allez, t'as l'air gentil... je vais donc abuser un peu !!
hahaha
dis moi est ce que tu pense que ce serait possible de faire une sorte de sous groupe de couleur


un ptit algo
si le nom change -> en alterne la couleur pour toute la ligne (ok!)
et dans une méme couleur, si un autre champ est différent, en le met en valeur ( on colorie la cellule )

exemple:
NOM *********POIDS********TAILLE
-------------------------------------------------------
nico [rouge] 80kg [rouge] 1m80 [rouge]
nico [rouge] 80kg [rouge] 1m80 [rouge]
nico [rouge] 80kg [rouge] 1m90 [orange]
nico [rouge] 70kg [orange] 1m80 [rouge]
--------------------------------------------------------
stef [bleu] 80kg [bleu] 1m60 [bleu]
stef [bleu] 80kg [bleu] 1m60 [bleu]
stef [bleu] 82kg [vert] 1m60 [bleu]
stef [bleu] 80kg [bleu] 1m60 [bleu]
------------------------------------------------------
franck [rouge] 80kg [rouge] 1m80 [rouge]...

voilà, est ce que tu pense que c'est possible ?
comment je dois faire ?

merci
a plus
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re

Voici le code modifié

Sub couleurligne()

'couleur
'3=rouge
'33=bleu
'4=vert
'44=orange

Dim x As Integer
Dim macouleur As Byte, macouleur2 As Byte, macouleur3 As Byte

macouleur = 3
macouleur2 = 3
macouleur3 = 3

For x = 1 To Range('A65536').End(xlUp).Row
Range('A' & x).Interior.ColorIndex = macouleur
Range('B' & x).Interior.ColorIndex = macouleur2
Range('C' & x).Interior.ColorIndex = macouleur3
If Range('A' & x) <> Range('a' & x + 1) Then
macouleur = IIf(macouleur = 3, 33, 3)
macouleur2 = macouleur
macouleur3 = macouleur
Else
If Range('B' & x) <> Range('B' & x + 1) Then
Select Case macouleur2
Case 3
macouleur2 = 44
Case 33
macouleur2 = 4
Case 4
macouleur2 = 33
Case 44
macouleur2 = 3
End Select
End If
If Range('C' & x) <> Range('C' & x + 1) Then
Select Case macouleur3
Case 3
macouleur3 = 44
Case 33
macouleur3 = 4
Case 4
macouleur3 = 33
Case 44
macouleur3 = 3
End Select
End If

End If
Next

End Sub


Bon courage
 

Discussions similaires

Réponses
14
Affichages
1 K

Statistiques des forums

Discussions
312 332
Messages
2 087 367
Membres
103 528
dernier inscrit
maro