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
| Sub form1()
Dim A As Long, B As Long, C As Long, D As Long, t As Long
Dim VonMisses As Double, Fx As Double, Mx As Double, Mz As Double, Pi As Double
Dim TabCouple() As Double
Fx = 250
Mx = 1000
My = 10000
Mz = 1500
Pi = Application.WorksheetFunction.Pi()
ReDim TabCouple(1 To 3, 1 To 1)
For A = 3 To 2000
For B = 3 To 2000
VonMisses = ((Fx * 100 / (Pi * (A * B - (A - 2) * (B - 2)) / 4)) + (((My * 10000 * A * 32) / (Pi * (B * A ^ 3 - (B - 2) * (A - 2) ^ 3))) + ((Mz * 10000 * B * 32) / (Pi * (A * B ^ 3 - (A - 2) * (B - 2) ^ 3)))) ^ 2 + (3 * ((Mx * 1000 * A * 16) / (Pi * (((B * A ^ 3) - (B - 2) * (A - 2) ^ 3) + ((A * B ^ 3) - ((A - 2) ^ 3) * (B - 2))))) ^ 2)) ^ 0.5
If VonMisses > 260 And VonMisses < 270 Then
t = t + 1
ReDim Preserve TabCouple(1 To 3, 1 To t)
TabCouple(1, t) = A
TabCouple(2, t) = B
TabCouple(3, t) = Pi * (A * B - (A - 2) * (B - 2)) / 4
End If
Next B
Next A
For t = 2 To UBound(TabCouple, 2)
If TabCouple(3, t) < TabCouple(3, t - 1) Then
C = TabCouple(1, t)
D = TabCouple(2, t)
End If
Next t
MsgBox "Le meilleur couple est (" & C & " , " & D & ")"
End Sub |