Bonjour,
Si j'ai bien compris ta demande ...
A tester ...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 3 To 100
If Application.WorksheetFunction.CountBlank(Range(Cells(i, 3), Cells(i, 5))) = 3 Then Exit For
If Cells(1, 4) < Cells(i, 9).Value Then Cells(i, 18) = "En Cours"
If Cells(1, 4) > Cells(i, 9).Value Then Cells(i, 18) = "En Retard"
If Cells(i, 9) = "" Then Cells(i, 18) = ""
If Cells(i, 17) <> 0 Then Cells(i, 18) = "Soldée"
Next i
End Sub