Désolé, je ne comprends pas tout (l'histoire du téléchargement...). C'est délicat parce qu'on déclenche la macro lors d'un changement et le fait de coller des valeurs est un changement.
Il est possible de changer l'ordre des instructions ou de faire ceci peut-être :
Private Sub Worksheet_Change(ByVal Target As Range)
if not application.cutcopymode then
If Not Intersect(Target, Range("E3:E30")) Is Nothing Then
If Range("C4") < Date Then Range("C4") = Date
End If
end if
End Sub
Mais, en général, il vaut mieux expliquer le déroulé entier car la superposition de solutions de contournement est en général moins efficace qu'une solution pensée sur l'ensemble du problème.
Cdlt,