VBA Complexité

Bonjour à tous,

Je suis nouveau sur le forum et j'aurais besoin de votre aide.

Je suis étudiant et je travaille sur une simulation thermique et j'aimerai utiliser VBA afin de me simplifier les calculs.

J'ai créé une fonction qui permet de résoudre une équation non linéaire complexe qui tient dans la longueur d'une feuille A3... et il est donc impossible d'isoler l'inconnue. En fait je calcul une température à un instant t + dt en fonction des valeurs de l'instant précédant t. Je fais donc appel à chaque instant à ma fonction pour calculer T(t+dt). La résolution d'une valeur prend pas mal de temps et n'est pas précise. Je me tourne vers vous afin de réduire la complexité de ma fonction et de l'optimiser.

Le programme renvoie la valeur de X en fonction du temps (X est ma température à t+dt), pour laquelle l'équation est environ égale à 0. Je vous simplifie le programme, le principe est :

Function Resoud(X0 As Double, A As Double, B As Double, C As Double) As Double

Dim X As Double

Dim Z As Double

X = X0

Z= A*X + B*X*X + Log(B*X-C)/C

While (Z < -0.1 Or Z > 0.1) And (X > 0)

X = X - 0.01

Z= A*X + B*X*X + Log(B*X-C)/C

Wend

Resoud=X

End Function

Je serais extrêmement reconnaissant si l'un d'entre vous pourrait m'aider.

bonjour

voir "valeur cible" ou "solveur" dans l'aide d'Excel

en principe, tu devrais obtenir ton résultat sans programmation.

Rechercher des sujets similaires à "vba complexite"