Sub Macro1()
Dim oo As Object 'déclare la variable oo (Onglet Origine)
Dim os As Object 'déclare la variable os (Onglet Source)
Dim dl As Long 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (cellule de Destination)
Set oo = Sheets("2013") 'à adapter à ton cas (c'est l'onglet ou seront copiées les données)
Set os = Sheets("Prospects ERP") 'à adapter à ton cas (c'est "l'autre feuille" dont tu parles)
dl = os.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée dl de la colonne 1 (=A) de l'onglet os
Set pl = os.Range("A2:A" & dl) 'définit la plage pl
'filtre l'onglet os colonne D entre les dates de 1/1/2013 à 31/1/2013
os.Range("A1").AutoFilter Field:=4, Criteria1:=">=" & CStr(DateSerial(2013, 1, 1)), Operator:=xlAnd, Criteria2:="<=" & CStr(DateSerial(2013, 1, 31))
'filtre l'onglet os colonne B pour la valeur "ST_DONE"
os.Range("A1").CurrentRegion.AutoFilter Field:=2, Criteria1:="ST_DONE"
On Error GoTo fin 'si aucune ligne visible, va à l'étiquette "fin"
For Each cel In pl.SpecialCells(xlCellTypeVisible) 'boucle sur toutes les cellules visibles de la plage pl
'définit la cellule de destination dest (A1 si A1 est vide, sinon la première cellule vide en colonne 1 (=A) de l'onglet oo
Set dest = IIf(oo.Range("A8").Value = "", oo.Range("A8"), oo.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0))
cel.Copy dest 'ou dest.Value = cel.Value si tu ne veux pas la mise en forme
Next cel 'prochaine cellule de la boucle
fin: 'étiquette
os.Range("A1").AutoFilter 'supprime le filtre automatique
End Sub