Car DD a 100 % avec boucle horaire

Bonjour

mon fichier fonctionne

Au bout d un certain temps environ 30 minutes le DD est a 100 % et bloque l ordinateur

Le soucis vient de la comparaison des heures par rapport a l'heure system. Fonction graph module 2

J ai essaye de limiter l utilisation des processeurs a 2/4 mais ca ne marche pas.

Quelqu un a t il une solution ?

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

en fait

c est quand une donnee est modifiee dans la range y21 AD39 que graph est appellee

If Not Intersect(Target, Range("Y21:AD39")) Is Nothing Then
Call graph

si je mets un false cela ne compare plus la fonction graph avec l heure systeme

oui, mais vous avez un else, donc si pas dans la zone y21:ad39 alors on lance dans une minute la fonction graph, donc la boucle est lancée quoiqu'il arrive ...

@ bientôt

LouReeD

en fait je veux les 2 conditions

Une donnée modifiée dans le range ou une comparaison toutes les minutes

Il faut donc annuler les lancements avant de relancer :

Modif dans la plage = je stoppe le Application.Ontime en cours, je lance la procédure Graph, je lance Application.Ontime

Si modif en dehors de la plage = je stoppe le Application.Ontime en cours, je relance le Application.Ontime

Comme cela il n'y aura qu'un application on time de lancé.

Imaginez qu'il y ait 24 modifs hors plage, et bien il y aura 24 lancement de Graph de programmés... Il faut purger les "on.time" avant d'en relancer un sinon vous tombez dans une boucle infernale.

@ bientôt

LouReeD

merci je vais essayer

Rechercher des sujets similaires à "100 boucle horaire"