Bonjour à toutes et tous

Je pense que je fais fausse route...
Pour faire simple: Je cherche à recopier des lignes entières d'une feuille "source" sur une "cible" en fonction de la date d'une colonne (la première pour l'exemple) de la feuille "source".
La ligne est copiée si la date en colonne A est supérieure à 6 mois
Voici l’idée:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
Sub test2()
Dim deltaD As Integer            'Ecart en mois entre la date de la colonne 1 et aujourd’hui feuille source
Dim deltaDmax As Integer       'Selection des dates a recopier
Dim lignedesign As Long         'Cosmetique > Pour selectionner où recopier les lignes sur feuille cible
deltaDmax = 6                      'Definition du nb de mois
lignedesign = 11
 
    Worksheets("cible").Cells.ClearContents
 
    For Each ligne In Worksheets("source").Range("1:6500").Rows
    deltaD = DateDiff("m", ligne.Cells(1, 1), Now)
 'Recopie la ligne de la feuille "source" sur le feuille "cible" si la date est plus eloignee ou égale de 6 mois
    If deltaD >= deltaDmax Then
    ligne.Copy Destination:=Worksheets("cible").Rows(lignedesign).Cells(1, 1)
    lignedesign = lignedesign + 1
    End If
    Next
 
End Sub
Le résultat est celui que je souhaite... mon problème est que la macro prend....20 secondes pour traiter 10 lignes.
Le fichier final en comprend 2000.. Je n’ose même pas y penser...

Éternel débutant, je pense que je ne prends pas les choses par le bon bout... Me tourne donc vers vous :-)

Merci beaucoup pour votre aide.
Cordialement.