merci bien
mais j'ai une question
comment faire pour que i varie de 6 jusqu'a la derniere ligne non vide?
par rapport a ta solution puis-je aussi essayé ceci:
NombreDeJour(i) = Cells(i, 12).Value - Cells(2, 1).Value
au lieu de
NombreDeJour(i) = Range("L"& i) - Range("A2")
merci d'avance
-- 25 Mai 2010, 17:53 --
le code que je veux ecrire est ci-dessous
dans lequel se trouve les données dont j'avais les premieres interrogations resolu plus haut
voila je croix que j'ai vu les premieres erreurs que j'ai faites
je devais definir mes variables sous forme de tableau si je ne me trompe
donc voila le code ci-dessous si quelqu'un veux bien m'aider a l'ameliorer
car il a encore des erreurs.
Option Base 1
Sub prixspot()
Dim NombreDeJour(), NbreAnnées() As Double
Dim x(), T(), p(), g() As Double
Dim i As Integer, j As Integer, x1() As Integer, x2() As Integer, v() As Integer
For i = 6 To 10000
NombreDeJour(i) = Cells(i, 12).Value - Cells(2, 1).Value 'definir le nombre de jours entre aujourd'hui et la date de fin
NbreAnnées(i) = (Cells(i, 8).Value - Cells(2, 1).Value) / 360
x(i) = NombreDeJour(i) / 30 'conversion du nombre de jours en mois a la ligne i
x1(i) = Int(x(i)) 'partie entiere de x(i)
x2(i) = x1(i) + 1
v(i) = Int(NbreAnnées(i)) 'partie entiere du nombre d'année de la ligne i
For j = 1 To v(i) + 1
p(j) = x(i) / 12 + (j - 1)
T(j) = (g(i) * Worksheets("&Forwards&").Cells(x2(i) + 11, 7).Value + 12 * (j - 1) + (30 - g(i)) * (Worksheets("&Forwards&").Cells(x1(i) + 11, 7).Value + 12 * (j - 1))) / 30
g(i) = (x(i) - x1(i)) * 30
Cells(i, 11).FormulaR1C1 = Cells(i, 10).Value / (1 + T(j)) ^ p(j) + 100 / (1 + T(v(i) + 1)) ^ p(v(i) + 1)
Next j
Next i
End Sub
merci d'avance