syntaxe coloration dans plage de cellule

mumu

XLDnaute Occasionnel
Salut le forum,

Comme d'hab' je reviens avec un problème de syntaxe.....
Je voudrais colorier une plage de cellule dans laquelle j'ai des chiffres sup à 0.
Je mets un exemple. Des qu'une cellule est différente de 0 je colorie jusqu'à la dernière ligne où il y a une données sup à 0.
J'ai écrit :

Code:
Dim val As Range
For Each val In Range("BG40:BO120")
    If val.Value >= 1 Then val.Row.Interior.ColorIndex = 40
Next val

Mais bien sur, c'est pas comme ça que ça s'écrit..... J'ai pas réussi à trouver mon bonheur sur le forum.

Quelqu'un aurait-il une petite solution?

D'avance merci !!

Mumu
 

Pièces jointes

  • Classeur2.xls
    17 KB · Affichages: 60
  • Classeur2.xls
    17 KB · Affichages: 61
  • Classeur2.xls
    17 KB · Affichages: 54

mumu

XLDnaute Occasionnel
Re : syntaxe coloration dans plage de cellule

Salut Mutzik,

Merci de me donner un coup de main.
Pour ce qui concerne la mise en forme conditionnelle, je ne sais pas trop comment ça marche mais je dois absolument l'écrire dans une macro.
Ensuite le EntireRow ne me convient pas car je voudrais vraiment ne colorier que les lignes dans la plage de cellule.

Je vais continuer à chercher.....

@ +
 

James007

XLDnaute Barbatruc
Re : syntaxe coloration dans plage de cellule

Si c'est le cas, il te faut utiliser l' offset ...
mais dans la mesure où tu visites toutes les cellules tu vas repeindre chaque ligne autant de fois que sur cette ligne ta condition sera remplie ...
pas très efficace ...

A+
 

James007

XLDnaute Barbatruc
Re : syntaxe coloration dans plage de cellule

Mumu,

Voilà une macro point de départ ... à tester ... ;)

Code:
Sub TestMumu()
Dim val As Range
Dim i As Integer ' Ligne 40 à 120
Dim j As Integer ' Colonne 59 à 67
For i = 40 To 120
    For j = 59 To 67
    If Cells(i, j).Value >= 1 Then
        Range(Cells(i, 59), Cells(i, 67)).Interior.ColorIndex = 40
    End If
    Next j
Next i
End Sub

A+
 

mumu

XLDnaute Occasionnel
Re : syntaxe coloration dans plage de cellule

Finalement, j'ai suivi un peu ta piste James007 et j'ai écrit en rajoutant une colonne total à la fin de mon tableau :

Code:
Range("BP40").Select
Do While ActiveCell.Value <> ""
If ActiveCell.Value >= 1 Then Range(ActiveCell.Offset(0, -1), ActiveCell.Offset(0, -8)).Interior.ColorIndex = 39
ActiveCell.Offset(1, 0).Activate
Loop

Ce qui répond à mon pb.

Merci à vous et @ +

Mumu
 

Discussions similaires

Réponses
2
Affichages
176

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom