Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

mutzik

XLDnaute Barbatruc
Re : syntaxe coloration dans plage de cellule

bonjour mumu,

1. j'aurais utilisé une mise en forme conditionnelle
2. sinon, enleve le .row
3. sinon (bis) si tu veux toute la ligne, essaie val.entirerow. ...
 

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
 

mumu

XLDnaute Occasionnel
Re : syntaxe coloration dans plage de cellule

Nous avons posté en même temps....

Je viens de tester ta proposition et elle marche également !!! C'est super !
Je te remercie beaucoup !

@ +

Mumu
 

James007

XLDnaute Barbatruc
Re : syntaxe coloration dans plage de cellule

Nous avons posté en même temps....
Je viens de tester ta proposition et elle marche également !!! C'est super !
Je te remercie beaucoup !
@ +
Mumu

De rien ... tout le monde sur le forum tient à ce que tu conserves ta superbe chevelure ... ce qui nous pousse à en faire un max ...

A+
 

Discussions similaires

Réponses
2
Affichages
191
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…