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

macro qui va coloriser les cellules selon critères

olivierd

XLDnaute Junior
bonjour comment allez-vous ?

je souhaite réaliser une macro qui va coloriser les cellules d'une zone
selon un critère de calcul ( inférieur ou égal à 1/12ème de A34):

=> Case Is > ActiveCell.FormulaR1C1 = '=R34C1/12'
ce critère ne semble pas êre reconnu
J'ai essayé aussi:
=> Case Is < (A34 / 12)
sans succès...

selon vous cher lecteur, quelle est la bonne formule ?

cordialement

Code:
Sub coloriage()
    Dim c As Range
       For Each c In Range('ma_zone')
        Select Case c
'critère qui ne semble pas marcher
            Case Is > ActiveCell.FormulaR1C1 = '=R34C1/2'
             
  'mise en rouge
                c.Interior.ColorIndex = 3
                Case Else
    'sinon en vert
                c.Interior.ColorIndex = 4
       End Select
        Next
End Sub
 

dg62

XLDnaute Barbatruc
Re:macro qui va coloriser les cellules selon critè

Bonjour,


dans ton code tu fais le test sur la formule et non sur la valeur de ta cellule.

Code:
 Case Is > = range('c34').value/12[code]

Message édité par: dg62, à: 24/03/2005 11:48
 

Robert

XLDnaute Barbatruc
Repose en paix
Re:macro qui va coloriser les cellules RB

Salut Olivier, salut le forum,

Ce code devrait convenir :
Sub coloriage()
Dim c As Range
For Each c In Range('ma_zone')
If c.Value <= Val(Range('A34').Value) / 12 Then
c.Interior.ColorIndex = 4
End If
Next c
End Sub

Salut Dg62, je ne comprends pas ce miracle ????? Mon post est venu dans le tien..

Message édité par: Robert, à: 24/03/2005 11:41
 

olivierd

XLDnaute Junior
Re:macro qui va coloriser les cellules RB

yep! merci beaucoup, je peux continuer mon coloriage...
Sympa dg62 & Robert ( je vous adopte tous les deux )
A+

voici le code en entier
Code:
sub thecode()
' passe chaque cellule en rouge
'si supérieur au calcul
'sinon en vert

Application.ScreenUpdating = False
Dim c As Range

    For Each c In Range('selection_de_zone')
         If c.Value > Val(Range('ma_selection').Value) / 12 Then
                c.Interior.ColorIndex = 3 'rouge
               Else
                c.Interior.ColorIndex = 4 ' en vert
    End If
Next c
end sub

Message édité par: olivierd, à: 24/03/2005 12:10
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…