violette16
Messages postés8Date d'inscriptionmercredi 6 juin 2012StatutMembreDernière intervention28 février 2013
-
6 juin 2012 à 14:43
DamienGB
Messages postés30Date d'inscriptionmercredi 23 mai 2012StatutMembreDernière intervention13 août 2012
-
8 juin 2012 à 12:27
Bonjour !
je veux colorer les cellules de la colonne D selon la valeur dedans (vide pas de couleur, 1 couleur 28 ; 2 = couleur 45)
mais je n'y arrive pas je suis perdue, ce code colore selon la valeur de la dernière cellule et pas selon la valeur de chaque cellule
Sub colorer()
Dim fin As Long
Dim li As Long
Dim v
Const col = "D"
fin = Range(col & Rows.Count).End(xlUp).Row
v = Range(col & fin).Value
For li = 1 To fin
If Range(col & li) <> "" Then
Select Case v
Case "1": Range(col & li).Interior.ColorIndex = 28
Case "2": Range(col & li).Interior.ColorIndex = 45
End Select
End If
Next li
End Sub
Gotein2002
Messages postés1Date d'inscriptionvendredi 2 juillet 2004StatutMembreDernière intervention 6 juin 2012 6 juin 2012 à 16:01
Simplement la valeur v pointe sur la dernière cellule
Voici le script qui marche :
Sub colorer()
Dim fin As Long
Dim li As Long
Dim v
Const col = "D"
fin = Range(col & Rows.Count).End(xlUp).Row
'v = Range(col & fin).Value
For li = 1 To fin
'If Range(col & li) <> "" Then
v = Range(col & li).Value
Select Case v
Case "1": Range(col & li).Interior.ColorIndex = 28
Case "2": Range(col & li).Interior.ColorIndex = 45
End Select
MarcPL
Messages postés172Date d'inscriptionjeudi 8 décembre 2011StatutMembreDernière intervention21 juillet 20132 6 juin 2012 à 16:04
Bonjour ! Normal vu que ton v est calculé avan' la boucle !!
De plus pas besoin de ce v, faire directement le Select Case sur ton Range(col & li) ...
J'utiliserais plutôt un cells(li,4) que ton Range.
___________________________________________________________________________________________________________________
Comme la vitesse de la lumière est supérieure à celle du son, certains ont l'air brillant avant d'avoir l'air con !
DamienGB
Messages postés30Date d'inscriptionmercredi 23 mai 2012StatutMembreDernière intervention13 août 2012 8 juin 2012 à 12:27
Surtout que c'est Range("").Value dans ce cas il me semble
Dim fin As Long
Dim li As Long
Dim v
const col = "D"
fin = Range(col & Rows.Count).End(xlUp).Row
For li = 1 To fin
If Cells(li,4).Value = "1" Then
Range(Cells(li,4).Address(RowAbsolute:=False, ColumnAbsolute:=False)).Interior.ColorIndex =28
End If
If Cells(li,4).Value = "2" Then
Range(Cells(li,4).Address(RowAbsolute:=False, ColumnAbsolute:=False)).Interior.ColorIndex =45
End If