Re bad_seed,
La mise en forme de tes cellules sera de toute façon gourmande en temps.
Compare mon code précédent avec celui-ci
Option Explicit
Sub test()
Dim a, i As Long, dico As Object
Set dico = CreateObject("Scripting.Dictionary")
a = Sheets("F2").Range("a1").CurrentRegion.Value
For i = 2 To UBound(a, 1)
dico(a(i, 6)) = a(i, 5)
Next
Application.ScreenUpdating = False
With Sheets("F1").Range("a1").CurrentRegion
a = .Value
For i = 2 To UBound(a, 1)
If dico.exists(a(i, 6)) Then
'If a(i, 5) = "En attente" And dico(a(i, 6)) = "Vente non aboutie" Then
If a(i, 5) <> dico(a(i, 6)) Then
a(i, 5) = dico(a(i, 6))
End If
.Cells(i, 6).Interior.ColorIndex = 44
Else
.Cells(i, 6).Interior.ColorIndex = 37
End If
Next
.Value = a
End With
Set dico = Nothing
Application.ScreenUpdating = True
End Sub
J'ai aussi changé la condition, à toi de voir.
klin89