Bonsoir,
sans rien comprendre à votre fichier voici ma vision de la chose :
à chaque changement de données sur la feuille activité vous lancez ce code :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("Y21:AD39")) Is Nothing Then
Call graph
Else: Application.OnTime Now + TimeValue("00:01:00"), "graph"
End If
donc dès qu'une donnée est modifiée en dehors de la plage Y21:AD39 vous programmez le lancement de la procédure "graph".
j'imagine qu'au bout d'un certain temps il doit y en avoir des programmations de lancement... Pour peu que la procédure "Graph" fasse des modifications sur cette feuille...
Ce qui fait que l'application fini par tomber dans une sorte de boucle infinie...
Avant de lancer une programmation de lancement de procédure avec Application.OnTime, il est plus propre d'arrêter celle qui est en cours afin de ne pas empiler les demandes.
@ bientôt
LouReeD