1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| Sub trouve_min_ou_max()
Dim recherche As String, fct As String, fct2 As String, fct1 As String
Dim resultat As Double, xOptimal As Double, yOptimal As Double
Min_X = Cells(5, 2)
Max_X = Cells(5, 3)
Min_Y = Cells(6, 2)
Max_Y = Cells(6, 3)
Pas = Cells(1, 2)
sauts_X = Cells(12, 2)
sauts_Y = Cells(13, 2)
recherche = Cells(14, 2)
fct = Cells(2, 2)
For y = Min_Y To Max_Y Step sauts_Y
Cells(9, 2) = y
fct1 = Replace(fct, "y", y)
For X = Min_X To Max_X Step sauts_X
Cells(8, 2) = X
fct2 = Replace(fct1, "x", X)
Sheets("fonction").Cells(10, 2).Value = fct2
If y = Min_Y And X = Min_X Then
fct2 = Cells(10, 2)
Sheets("fonction").Cells(15, 2).Value = resultat
Sheets("fonction").Cells(8, 2).Value = Min_X
Sheets("fonction").Cells(9, 2).Value = Min_Y
End If
If recherche = "Maximum" Then
If resultat > Cells(10, 2) Then
Cells(10, 2) = resultat
xOptimal = X
yOptimal = y
Sheets("fonction").Cells(15, 2).Value = resultat
Sheets("fonction").Cells(16, 2).Value = xOptimal
Sheets("fonction").Cells(17, 2).Value = yOptimal
End If
End If
If recherche = "Minimum" Then
If resultat < Cells(9, 2) Then '
Cells(10, 2) = resultat
xOptimal = X
yOptimal = y
Sheets("fonction").Cells(15, 2).Value = resultat
Sheets("fonction").Cells(16, 2).Value = xOptimal
Sheets("fonction").Cells(17, 2).Value = yOptimal
End If
End If
Next X
Next y
End Sub |
Partager