Macro stoppe sans raison apparente

Balot57

XLDnaute Nouveau
Bonjour,

Je m'adresse à vous car j'ai rencontré avec plusieurs macros un cas de figure assez énervant. Certaines de mes macros sont susceptibles de s'exécuter pendant plusieurs heures. Parfois, si je manipule l'explorateur windows ou un autre logiciel pendant l'exécution de la macro (sans toucher aux fichiers nécessaires à la macro), la macro s'arrête, sans avertissement, sans donner de message d'erreur. Si je la relance avec les mêmes données d'entrée et que je ne touche plus au PC, elle s'exécute en entier sans problème. D'autres fois, je peux faire toutes les manips que je veux sans que la macro soit perturbée.
Avez-vous déjà rencontré le même problème ? Est-ce que ce problème témoigne juste d'un bug d'Excel ? Y a-t-il quelque chose que je puisse faire afin d'éviter ce désagrément ?
 

laurent950

XLDnaute Accro
Re : Macro stoppe sans raison apparente

Bonsoir,

Pour la réponse à votre question, cela est normal, lorsque la macro est entraint de s'exécuter, il ne faut plus toucher au clavier, car si vous toucher au clavier et que vous êtes sur une autre application comme vous l'avez d'écrit, cela influt sur la macro qui est en court d'éxécution.

je m'explique, la macro qui tourne pendant une durée x (on va dire 30 minutes) c'est mon cas chez moi. votre macro peux enregistrer autre choses que se qui est initialement prévu (comme si vous êtes sur word en même temps exemple :

15 minutes passe la macro tourne (il y a un copier qui se fait a se moment la sur excel ) vous êtes en parralléle sur Word(ou ailleur peux importe) vous faite un control + v (Copier au clavier) ===>>> entre temps le copier initial de votre macro est substitué par votre (copier coller que vous aver fait) la macro colle autres choses (c'est a dire se que vous avez copier dans word) et si plus loin la macro a besoin de cette choses que vous avz copier a la 15 minutes et doit sans servir a la 21 eme minutes (elle trouve pas ce qui devait etre initialement copier donc) la macro plante.

Conclusion une macro longue = ne pas toucher au clavier ni souris le temps de l'exécution de celle-ci.

ce site est très bien fait : il y a une partie de de mon explication.

ftp://ftp2.developpez.be/developps/vb/VB-excel2.pdf

Bloquer les actions clavier & souris
On peut, pendant l'exécution d'un code assez long, bloquer le clavier et la souris afin que l'utilisateur ne
puisse pas agir sur Excel pendant que celui ci travaille. Néanmoins, comme la méthode présente un risque il faut
impérativement avoir un contrôle d'erreurs afin de pouvoir réactiver le clavier et la souris en cas de problème.
Public Sub LongTraitement()
On Error GoTo restauration
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.Interactive = False
End With
'début du traitement long
restauration:
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.Interactive = True
End With
End Sub
On utilise très souvent le mode Interactive False en pilotage VB. Le blocage du clavier n'empêche pas la
saisie dans les UserForms.
 

MJ13

XLDnaute Barbatruc
Re : Macro stoppe sans raison apparente

Bonjour Balot, Laurent

Normalement, on doit pouvoir réaliser une macro qui travaille en tâche de fond.

Mais sans plus de précision sur la ou les dites macro, il est impossible d'aider de façon efficace :confused:.
 

laurent950

XLDnaute Accro
Re : Macro stoppe sans raison apparente

Bonjour MJ13,

Je suis intrigué par le faite de lancer une macro qui travaille est tache de fond. C'est a dire vous avez une exmple pour que je puisse chercher une correspondance qui se raproche par rapport a mes connaissance.

je vous remerci par avance

Laurent.

Ps : Merci a Balot57 pour sa gentille réponse.
 

MJ13

XLDnaute Barbatruc
Re : Macro stoppe sans raison apparente

Re Laurent

Je suis intrigué par le faite de lancer une macro qui travaille est tache de fond.
Si tu lances une nouvelle instance d'excel, tu peux lancer ta macro et travailler sur l'autre. Il est sur que dans ce cas, tu ne pourras pas travailler sur les fichiers qui sont en traitement dans ta première instance :confused:.
 

Statistiques des forums

Discussions
312 495
Messages
2 088 969
Membres
103 993
dernier inscrit
Essens