re
Teste comme ceci
le problème c'est que tu inverse les lignes et les colonnes
Sub test()
Dim srow As Range, erow As Range
Dim bb As Worksheet
Dim MSN_count As Integer
Set bb = Worksheets("bb")
Set srow = bb.Range("D2")
Set erow = bb.Range("D10").End(xlUp)
MSN_count = bb.Range(srow, erow).Count
For Line = 2 To MSN_count
If IsDate(bb.Cells(Line, 5)) = "True" Then
If bb.Cells(Line, 4).Value < bb.Cells(Line, 5).Value Then
bb.Range(Cells(Line, 4), Cells(Line, 5)).Interior.Color = vbGreen
Else
If bb.Cells(Line, 4).Value > bb.Cells(Line, 5).Value Then
bb.Range(Cells(Line, 4), Cells(Line, 5)).Interior.Color = vbRed
Else
If IsDate(bb.Cells(Line, 5)) = "False" Then
bb.Range(Cells(Line, 4), Cells(Line, 5)).Interior.Color = vbWhite
End If
End If
End If
End If
Next Line
End Sub