Probleme code vba simple
Résolu
alex
-
alex -
alex -
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
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
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 -
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 -
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