Probleme code vba simple

Résolu/Fermé
alex - 15 juin 2012 à 10:21
 alex - 15 juin 2012 à 11:09
Bonjour,

qui peut me resoudre ce petit code vba tout simple : je vous mets un exemple de plage excel : je veux que m3 se colorie si o3 >p3 , que n3 se colorie si o3<p3, que m3 et n3 se colorient si o3=p3 donc ca c'est bon ca marche. par contre je voudrais dire que si la cellule o3 et cellule p3 sont vides alors aucun coloriage (actuellement avec le code ci-dessous les 2 sont coloriées)

m n o p
3 Roche Valdahon 8 12



Private Sub CommandButton1_Click()
i = Range("o3").Value
j = Range("p3").Value
If IsEmpty(Range("o3")) Then
With Worksheets("equipe1c").Range("m3")
.Interior.Color = RGB(0, 255, 255)
End With
With Worksheets("equipe1c").Range("n3")
.Interior.Color = RGB(0, 255, 255)
End With
End If

If i > j Then
With Worksheets("equipe1c").Range("m3")
.Interior.Color = RGB(0, 255, 255)
End With
With Worksheets("equipe1c").Range("n3")
.Interior.Color = RGB(255, 255, 255)
End With
End If
If i < j Then
With Worksheets("equipe1c").Range("m3")
.Interior.Color = RGB(255, 255, 255)
End With
With Worksheets("equipe1c").Range("n3")
.Interior.Color = RGB(0, 255, 255)
End With
End If
If i = j Then
With Worksheets("equipe1c").Range("m3")
.Interior.Color = RGB(0, 255, 255)
End With
With Worksheets("equipe1c").Range("n3")
.Interior.Color = RGB(0, 255, 255)
End With
End If


merci d'avance
A voir également:

3 réponses

pour info RGB (0.255,255) = aucun coloriage et c'est donc ma partie en gras qui ne doit pas aller
merci bcp
0
et j'ai deja essayer, mais sans succes
If i="" and j="" Then
With Worksheets("equipe1c").Range("m3")
.Interior.Color = RGB(0, 255, 255)
End With
With Worksheets("equipe1c").Range("n3")
.Interior.Color = RGB(0, 255, 255)
End With
End If
0
Bonjour,

Essaies avec ce code

If IsEmpty(Range("o3")) or IsEmpty(Range("n3")) Then 
    With Worksheets("equipe1c").Range("m3") 
    .Interior.Color = RGB(0, 255, 255) 
    End With 
    With Worksheets("equipe1c").Range("n3") 
    .Interior.Color = RGB(0, 255, 255) 
    End With 
Else

   'recopie con code ici
   'If i > j Then
   '...
   '...
   'End With 
   'End If 

End If 


Si ça ne marche pas, changes
If IsEmpty(Range("o3")) or IsEmpty(Range("n3")) Then
par
If Range("o3")="" or Range("n3")="" Then
0
merci pour ta reponse : si je t'ai bien suivi, ca donne le code ci dessou, par contre ca marche tjs pas, les 2 cases sont colorées, avec tes 2 méthodes :

If Range("o3") = "" Or Range("p3") = "" Then
With Worksheets("equipe1c").Range("m3")
.Interior.Color = RGB(0, 255, 255)
End With
With Worksheets("equipe1c").Range("n3")
.Interior.Color = RGB(0, 255, 255)
End With
Else
If i > j Then
With Worksheets("equipe1c").Range("m3")
.Interior.Color = RGB(0, 255, 255)
End With
With Worksheets("equipe1c").Range("n3")
.Interior.Color = RGB(255, 255, 255)
End With
End If
If i < j Then
With Worksheets("equipe1c").Range("m3")
.Interior.Color = RGB(255, 255, 255)
End With
With Worksheets("equipe1c").Range("n3")
.Interior.Color = RGB(0, 255, 255)
End With
End If
If i = j Then
With Worksheets("equipe1c").Range("m3")
.Interior.Color = RGB(0, 255, 255)
End With
With Worksheets("equipe1c").Range("n3")
.Interior.Color = RGB(0, 255, 255)
End With
End If
End If
0
jviens deja de voir que la non couleur c'est (255,255,255) et non pas (0,255,255) mais bon je crois que j'ai tjs un soucis :(
0
c'est bon ca marche !!! merci pour tout YODA !!
++
0