J'ai configuré une macro pour l'exécuter toutes les 2 heures en utilisant:
Application.OnTime (TimeSerial(6, 0, 0)), "AutoUpdate"
Cependant, il y a un problème parfois, comme d'habitude, la macro se renversera sur 2 heures et tentera de tourner à nouveau alors que la macro précédente est toujours en cours d'exécution, ce qui l'entraîne à se bloquer. Est-ce que quelqu'un sait d'une manière de dire "si le précédent" AutoUpdate "est toujours en cours d'exécution, ne lancez-vous pas" AutoUpdate "?"
Définissez une variable globale de type Boolean:
Dim gRunning as Boolean
Dans votre sous, ajoutez le code suivant:
If gRunning = True Then Exit Sub End If gRunning = True [...] gRunning = False
[...]If gRunning = True Then Exit Sub End If gRunning = True [...] gRunning = False