Sub mlkzjk()
cible = WorksheetFunction.Index(Range("b7:f9"), _
WorksheetFunction.Match(Range("c2"), Range("a7:a9"), 0), 5)
Range("E2").GoalSeek Goal:=cible, ChangingCell:=Range("G2")
If Range("D2") < Range("b9") Or Range("D2") > Range("c9") Then
temp1 = WorksheetFunction.Index(Range("b7:f9"), _
WorksheetFunction.Match(Range("c2"), Range("a7:a9"), 0), 3)
temp2 = WorksheetFunction.Index(Range("b7:f9"), _
WorksheetFunction.Match(Range("c2"), Range("a7:a9"), 0), 4)
Delta = temp2 - temp1
For i = 0 To 100
cible = temp1 + Delta * i / 100
Range("E2").GoalSeek Goal:=cible, ChangingCell:=Range("G2")
If Range("D2") > Range("b9") And Range("D2") < Range("c9") Then Exit Sub
Next i
End If
End Sub