Bonjour,
J'ai une équation que je ne peux résoudre analytiquement pour trouver un paramètre (que j'appelle ici "b"). Je dois donc faire une itération à partir de plusieurs valeurs de b que je fixe dans un tableau (tableau d'une colonne qui contient 30 éléments).
le problème est que j'utilise "cell.value" pour définir les différents éléments du tableau mais quand je lance le programme je constate que seule la dernière valeur du tableau est prise en compte dans tous le tableau (tous les autres éléments du tableau sont remplacés par cette valeur).
le but de ce que je fais est de récupérer la valeur b du tableau qui me permet d'avoir l'écart minimum entre une fonction f(b) qui dépend de b et une constante z.
Si quelqu'un a une suggestion par rapport à la boucle que j'utilise ou à la variable cell.value... Ce sera la bienvenue.
Merci d'avance !
Dim i As Integer
Dim z, f As Double
Dim b As Double
Dim t As WorksheetFunction
Dim cell As Range
Set t = Application.WorksheetFunction
For Each cell In Range("A2:A30")
z = 1.4 * Log(8) + 1.9 * Log(20) 'je définis z qui est une constante
f = t.Min(Abs(((cell.value + 1.9 * Log((20 / cell.value) - 1)) - z) / z)) 'je définis f qui est l'écart minimum entre f(cell.value) et z
Range("B2:B302").Value = Format(((cell.value + 1.9 * Log((20/ cell.value) - 1)) - z) / z, "0.0000")
Range("D2:D302").Value = Format(cell.value, "0.00")
Next cell
For Each cell In Range("A2:A30")
If (z * (f + 1) = cell.value + 1.9 * Log((20 / cell.value) - 1)) Then 'je pose la condition si pour retrouver la valeur cell.value qui me donne l'écart minimum entre f(cell.value) et z
b = cell.value
Else
b = 0
End If
Next cell