Après la solution de Vincent qui interrompt complètement le fonctionnement d'Excel (mais selon ce que tu veux faire, c'est plus ou moins gênant), voici une procédure qui fait ça en rendant la main après chaque appel, mais attention, une fois qu'elle est lancée, tu ne peux plus interrompre la boucle avant l'exécution complète, ou plutôt elle se relancera d'elle-même toutes les 3 secondes jusqu'à l'an 2003.
(J'ai viré tout ce qui était inutile dans ta macro ci-dessus)
Option Explicit
'Ti
Sub AfficheShape()
Dim X As Long, Y As Long
Static An As Long
An = IIf(An = 0, 1953, An + 1)
Y = (An - 1952) * 10
X = (An - 1952) * 5
ActiveSheet.Shapes.AddShape(msoShapeVerticalScroll, Y, X, 70.5, 64.5).Select
Selection.Text = An
[A1].Activate
If An < 2003 Then
Application.OnTime Now + TimeValue("00:00:03"), "AfficheShape"
Else
An = 0
End If
End Sub