Alors ceci, la valeur négative est sur fond jaune et toutes les valeurs positives sont en vert.:
Sub Marquage()
Dim DerLig As Long, DerCol As Long, i As Long, Lig As Long
Application.ScreenUpdating = False
DerLig = Range("B" & Rows.Count).End(xlUp).Row
DerCol = Range("ZZ1").End(xlToLeft).Column
Range("E2:E" & DerLig).Interior.Color = xlNone
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("B2:B" & DerLig), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("E2:E" & DerLig), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("A1:E" & DerLig)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
For i = 2 To DerLig
Jour = Cells(i, "B")
Montant = Cells(i, "E")
If Cells(i, "E") < 0 Then Cells(i, "E").Interior.ColorIndex = 6
Lig = i
If Montant < 0 Then
Do While Cells(Lig, "B") = Jour
If Cells(Lig, "E") * -1 = Montant Then
Cells(Lig, "E").Interior.ColorIndex = 4
End If
Lig = Lig + 1
Loop
End If
i = Lig
Next i
End Sub
Cdlt