couleur de fond de cellule

f69815

XLDnaute Occasionnel
bonsoir à tous,

vous connaissez tous la mise en forme du fond d'une ligne 1 ligne/2.( 1 blanche, 1 grise, 1 blanche......)

mon soucis vient du fait que ce n'est pas 1/2 mais un regroupement de x lignes, pas tjs le même. en tout j'ai 18301 lignes, pour l'instant.

le point commun est la valeur contenue dans la colonne 'ois'

tr ois
2 S0000962
3 S0000962
2 S0000995
3 S0000995

les couleurs sont à votre convenance


de plus je ne veux pas que la colonne A (tr)soit coloriée
merci d'avance
 

Abel

XLDnaute Accro
Bonsoir f69815,

Si j'ai bien compris ce que tu cherches, essaie avec quelque chose du genre :

for each c in range ('b' & range('b65536').end(xlup).row)
if c=S0000962 then c.interior.colorindex=3
if c=S0000995 then c.interior.colorindex=4
next c

Les couleurs ont été choisie au pif.

Maintenant, je pense qu'avec un mise en forme conditionnelle, ce serait plus simple.
Menu 'Format / Mise en forme conditionnelle...'
Choisi 'La valeur de la cellule est' puis 'égale à' et entre tes valeurs.
On peut faire jusqu'à trois formats différents.

Ensuite, tu recopie la mise en forme (le petit pinceau) sur l'ensemble du tableau.

Abel.
 

f69815

XLDnaute Occasionnel
bonjour aux matinaux,
voici un exemple [file name=couleur_cellule.zip size=1440]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/couleur_cellule.zip[/file]
 

Pièces jointes

  • couleur_cellule.zip
    1.4 KB · Affichages: 33
  • couleur_cellule.zip
    1.4 KB · Affichages: 33
  • couleur_cellule.zip
    1.4 KB · Affichages: 39

Abel

XLDnaute Accro
Bonjour le fil,

Ha ben oui ... ça va faire un peu court avec les MFC. Arf !

Essaie une adaptation de mon premier code. Il faut traduire la condition.

Code:
sub changecouleur()
dim coul as byte
coul = 4
For Each c In Range('b1:b' & Range('b65536').End(xlUp).Row)
    If c.Row = 1 Then
        c.Interior.ColorIndex = coul
    ElseIf c = c.Offset(-1, 0) Then
        c.Interior.ColorIndex = coul
    ElseIf c <> c.Offset(-1, 0) Then
        If coul = 4 Then
        coul = 3
        Else
        coul = 4
        End If
        c.Interior.ColorIndex = coul
    End If
Next c
end sub

Au fait, c'est la couleur de fond ou la police que tu veux changer ?
Pour la couleur de police, c'est : c.Font.ColorIndex


Abel
 

f69815

XLDnaute Occasionnel
re bonjour abel,

tout allait bien dans le monde d'excel, mais quand j'ai appliqué un filtre rien ne va plus, les jeux sont faits, ce qui est normal.

aussi il me faudrait pouvoir appliquer ton code après avoir mis un ou pls filtre, ou sur non filtré.

merci
 

Discussions similaires

Réponses
2
Affichages
285

Statistiques des forums

Discussions
312 215
Messages
2 086 321
Membres
103 178
dernier inscrit
BERSEB50