Repérage de donnée par VBA

tetro14 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, je cherche a repérer une ligne a l'aide de VBA. En faite, dans un colonne (D), j'ai un liste de prix et dans la colonne (C) j'ai un liste de date classer en ordre. J'ai besoin de faire un calcul de rendement de 3 ans( (PrixT-PrixT-1)/PrixT-1) . J'aimerai dire a excel voici ma date (EX:09/08/16) il me faudrais la ligne ou cellule de (09/08/2013). Voici le code que j'ai composer :
Sub rend3()

Dim r As Integer
Dim c As Integer
Dim rr As Integer
Dim cc As Integer
Application.ScreenUpdating = False

c = 4
cc = 4
Sheets("hist").Select
Do Until Sheets("hist").Cells(4, c) = ""
r = 5
rr = 7
    Do Until Sheets("hist").Cells(r + 1095, c) = ""
        Sheets("rendement (3 ans)").Cells(rr, cc) = ((Sheets("hist").Cells(r, c) - Sheets("hist").Cells(r + 1095, c)) / Sheets("hist").Cells(r + 1095, c))
        rr = rr + 1
    r = r + 1
    Loop
cc = cc + 1
c = c + 1
Loop
Application.ScreenUpdating = True
End Sub


Il fonctionne déjà mais au lieu de lui dire va voir 1095 cellules plus bas j'aimerai qu'il trouve la date (puisqu'il y a les années de 366 jours qui me poserons problème)

Merci grandement d'avance

1 réponse

gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,

Pour éviter d'utiliser 1095 (365*3) tu peux trouver la différence ainsi
delta = DateAdd("yyyy", 3, [A1]) - [A1]

avec ta date de départ en A1 à adapter.
0