Macro pour mise en couleur de cellule

M

Mathieu

Guest
Bonjour tout le monde,

j'ai dans une macro les lignes suivantes:

Dim macol As Byte, x As Byte
Feuil3.Range('C4:U4').Interior.ColorIndex = xlNone
macol = Feuil3.Range('C4').End(xlToRight).Column
Feuil3.Cells(4, macol).Interior.ColorIndex = 3
Feuil3.Cells(4, macol - 1).Interior.ColorIndex = 45
For x = 3 To macol - 2
Feuil3.Cells(4, x).Interior.ColorIndex = 4
Next

je ne métrise pas le VBA et j'aurai besoin qu'elle soit modifiée pour quelle fonctionne non pas en ligne mais en colonne.

celle ci met en rouge la derniere cellule contenant une valeur dans C4 à U4, met en orange l'avant derniere cellule dans C4 à U4 et toutes les autres cellules de C4 à U4 en vert.

exemple:

C4 = 2 - D4 = 6 - E4 = 10 - F4 = 20 :
F4 sera en fond rouge
E4 sera en fond orange
et C4 à D4 seront en fond vert.
G4 à U4 reste à fond blanc.

Que faut il modifier pour que celle ci fonctionne non pas en ligne mais fasse la meme chose en colonne. J'ai bien essayé des choses mais ça ne fonctionne pas.

Merci.

Mathieu.
 

porcinet82

XLDnaute Barbatruc
Salut Mathieu,

Reponse en PJ

[file name=Mathieu_20060106181155.zip size=9977]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Mathieu_20060106181155.zip[/file]

@+
 

Pièces jointes

  • Mathieu_20060106181155.zip
    9.7 KB · Affichages: 250
M

Mathieu

Guest
Merci Porcinet pour ta macro.

par contre c'est le meme principe que la macro que j'ai donné au départ.

en faite, au lieu de le faire en ligne il faudrait que cela soit fait en colonne.

Mais je ne sais pas quoi modifier pour que ça marche.

je joins une feuille ecxel pour comprendre comment il faut que cela s'affiche.

Merci
Mathieu [file name=Mathieuexemple.zip size=9385]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Mathieuexemple.zip[/file]
 

Pièces jointes

  • Mathieuexemple.zip
    9.2 KB · Affichages: 104

Hervé

XLDnaute Barbatruc
Bonjour mathieu, porcinet, abel

peut etre comme ceci :


Sub Bouton2_QuandClic()
Dim j As Byte, couleur As Byte
Dim i As Integer

For j = 1 To Range('iv1').End(xlToLeft).Column
       
For i = 1 To Cells(65536, j).End(xlUp).Row 'To 1 Step -1
               
Select Case i
                       
Case Cells(65536, j).End(xlUp).Row: couleur = 3 'derniere ligne
                       
Case Cells(65536, j).End(xlUp).Row - 1: couleur = 44 'avant derniere
                       
Case Else: couleur = 43 'les autres
               
End Select
                Cells(i, j).Interior.ColorIndex = couleur
       
Next i
Next j
End Sub


salut
 

Discussions similaires

Réponses
2
Affichages
161

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 979
dernier inscrit
bderradji