Bonjour,

D'abord merci d'avance pour l'aide que vous allez m'apporter.

Je souhaite calculer le rendement pour différentes actions. Je dispose donc d'une feuille avec les différent cours.
Une colonne représente une action, chaque ligne une date.

La formule pour calculer le rendement d'une action à la date t est la suivante rdt = 100 * log (prix en t / prix en t-1)

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub calcul_rendement()
 
Dim i As Integer, j As Integer, P As Object, R As Object
 
Set P = Range("Feuil1!H2:Feuil!1AF2141")
Set R = Range("Feuil2!H2:Feuil2!AF2141")
 
For i = 1 To 2140
For j = 1 To 25
R.Cells(i + 1, j) = 100 * Log((P.Cells(i + 1, j)) / (P.Cells(i, j)))
Next j
Next i
 
End Sub
Il fonctionne mais j'aimerai le rendre dynamique. C'est à dire que si je rajoute une action donc une colonne cela soit pris en compte c'est à dire que P et R sont redimensionnés ainsi que J.
Là j'ai 25 actions, mais si une autre personne en rajoute une. Je souhaiterai que J = 1 to 26 et P/R vont de H2:AG2141.
J'ai pensé à demander à l'utilisateur de sélectionner la plage mais elle est très grande et c'est pas très pratique. Est-ce possible de dire que P va de H2 et s'arrête au moment où il n'y a plus de valeur sur la ligne et la colonne ?

Je sais pas si ce que je demande est faisable. Si vous avez des solutions à me proposer pour me mettre sur la voie.

Merci