SimpsonHomer
XLDnaute Nouveau
Bonjour,
J'ai un souci avec mon code VBA qui est le suivant : j'ai un long tableau contenant plein de données (plus de 150 000 lignes avec une quinzaine d'informations par ligne). Chaque ligne comprend des informations sur des contrats. Une des information est la date d'émission des contrats.
J'aimerais utiliser un code qui me permette d'extraire le nom des contrats qui ont été émis il y a plus de 2 ans et les coller dans une nouvelle feuille. Pour ce faire, j'ai utilisé la fonction DateDiff. Le souci est que lorsque je lance ce code, j'ai bien la nouvelle feuille qui se créé mais elle est vide, rien ne se colle dedans.
La date d'émission est dans la première colonne, et le nom du contrat en 6ème.
Je vous remercie par avance de votre aide !
J'ai un souci avec mon code VBA qui est le suivant : j'ai un long tableau contenant plein de données (plus de 150 000 lignes avec une quinzaine d'informations par ligne). Chaque ligne comprend des informations sur des contrats. Une des information est la date d'émission des contrats.
J'aimerais utiliser un code qui me permette d'extraire le nom des contrats qui ont été émis il y a plus de 2 ans et les coller dans une nouvelle feuille. Pour ce faire, j'ai utilisé la fonction DateDiff. Le souci est que lorsque je lance ce code, j'ai bien la nouvelle feuille qui se créé mais elle est vide, rien ne se colle dedans.
La date d'émission est dans la première colonne, et le nom du contrat en 6ème.
Je vous remercie par avance de votre aide !
VB:
Dim t(), lastrow As Long, i As Long
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
ReDim t(lastrow)
For i = 2 To lastrow
If DateDiff("d", Cells(i, 1), Now) > 720 Then
t(i) = Cells(i, 6)
End If
Next i
For i = 2 To lasrow
Cells(i, 18) = t(i)
Next i
Sheets.Add(After:=Sheets(Sheets.Count)).Name = "not issued last 2 years"
Worksheets("not issued last 2 years").Activate
For i = 2 To lasrow
Cells(i, 1) = t(i)
Next i