A voir également:
- Résolution d'équation par vba
- Editeur d'équation - Télécharger - Vie quotidienne
- Réduire résolution image - Guide
- Resolution changer pc - Télécharger - Divers Utilitaires
- Excel compter cellule couleur sans vba - Guide
- Formule équation - Télécharger - Études & Formations
3 réponses
Bonjour,
valeur de K non définie
on pourrait plutôt passer par une fonction
par ex:
valeur de K non définie
on pourrait plutôt passer par une fonction
par ex:
Function Calculer_equation(K As Currency)
Calculer_equation = (2 * (2 * Sqr(K)) - 0.8) ^ -1
End Function
Re,
modif : passer de currency à double ;o)
petite maquette
si X =10 je trouve 0,08€
modif : passer de currency à double ;o)
petite maquette
Function Calculer_equation(K As Double)
Calculer_equation = (2 * (2 * Sqr(K)) - 0.8) ^ -1
End Function
'-----------------------------------------------------
Sub calculer()
Dim X As Double
X = Range("G2") 'par exemple ( G2 est au format-nombre-currency)
MsgBox Format(Calculer_equation(X), "#,##0.00 $")
End Sub
si X =10 je trouve 0,08€
Bonjour
k = (2 * (2 * Sqr(k)) - 0.8) ^ -1
peut aussi s'ecrire
k= 1/(4*sqr(k)-0.8)
k*(4*sqr(k)-0.8) =1
(k*4*sqr(k))-(0.8*k) =1
avec k > 0 car sqr(k) est toujours positif
avec un programme de type force bute, on fait varier k avec un increment de 0.0001
et on trouve k = 0.4959
k = (2 * (2 * Sqr(k)) - 0.8) ^ -1
peut aussi s'ecrire
k= 1/(4*sqr(k)-0.8)
k*(4*sqr(k)-0.8) =1
(k*4*sqr(k))-(0.8*k) =1
avec k > 0 car sqr(k) est toujours positif
avec un programme de type force bute, on fait varier k avec un increment de 0.0001
et on trouve k = 0.4959
Sub test()
Dim k As Currency, r As Currency
k = 0
r = 0
While r <= 1
k = k + 0.0001
r = (k * 4 * Sqr(k)) - (0.8 * k)
Wend
MsgBox ("k = " & Format(k, "0.0000"))
End Sub
Bonjour
merci bcp effictivement c a marche
au fait je voudrais aussi faire varier le re =2 dans l'example precendent
je vais directement ecrire ce que je veux resourdre, si c possible
1/sqr(k)= (2*log * (re * Sqr(k)) - 0.8)
je ne sais pas si je peux remplacer directement le 2 avec (re) dans le programme qui vous mavez donne (qui marche bien )
si vous pouvez maider vraiment jen ai besoin
merci
merci bcp effictivement c a marche
au fait je voudrais aussi faire varier le re =2 dans l'example precendent
je vais directement ecrire ce que je veux resourdre, si c possible
1/sqr(k)= (2*log * (re * Sqr(k)) - 0.8)
je ne sais pas si je peux remplacer directement le 2 avec (re) dans le programme qui vous mavez donne (qui marche bien )
si vous pouvez maider vraiment jen ai besoin
merci
L'équation n'est pas la même
1/sqr(k) = 2*log(re * Sqr(k)) - 0.8
(2*log(re * Sqr(k)) - 0.8) * sqr(k) = 1
donc cette fois le programme est le suivant ( si j'ai bien interprété l'équation)
Pour re=2
k=1.3260
1/sqr(k) = 2*log(re * Sqr(k)) - 0.8
(2*log(re * Sqr(k)) - 0.8) * sqr(k) = 1
donc cette fois le programme est le suivant ( si j'ai bien interprété l'équation)
Sub test2()
Dim k As Currency, r As Currency
k = 0
r = 0
'--------------------------
Dim re As Double
' entrer une valeur pour re
re = 2
'--------------------------
While r <= 1
k = k + 0.0001
r = (2 * Log(re * Sqr(k)) - 0.8) * Sqr(k)
Wend
MsgBox ("Pour re = " & re & vbCrLf & "k = " & Format(k, "0.0000"))
End Sub
Pour re=2
k=1.3260
merci pour votre reponse, je viens de lessayer mais ca marche toujours pas
vous avez mis :
Calculer_equation = (2 * (2 * Sqr(K)) - 0.8) ^ -1
alors que
calculer_equation doit prendre la valeur de k
je ne sais pas comment y prendre
si vous pouvez maider ca serrai vraiment genial
merci davence