Macro fonctionnant uniquement pour un nombre limité de runs

Bonjour,

j'ai une macro vba composée de plusieurs macros effectuant différents traitements de traitement et mise en forme de données (pas d'utilisation de formules sur les feuilles excel).

Je souhaite executer plusieurs runs de cette macro, correspondant à une liste de dates indiquée dans une des feuilles de mon fichier excel.

La macro dure environ 10minutes pour 1 date.

Lorsque je fais tourner la macro pour une seule date, ou 2 ou 3 dates, pas de souci.

En revanche, à partir de 4 ou 5 dates, excel affiche "ne répond pas", tourne dans le vide et n'effectue plus les opérations.

Pourtant, si je fais tourner la macro par groupes de 3 dates (dès que c'est fini, j'ajoute manuellement 3 nouvelles dates dans la feuille de dates, et je relance la macro, sans avoir fermé le fichier), il n'y a pas de problème.

Qu'est ce qui pourrait faire que ma macro bloque lorsque je lance toutes les dates d'un coup, alors qu'elle fonctionne bien par groupes de 3 dates? J'ai bien cherché à optimiser ma macro par les techniques classiques (suppression des données des feuilles après chaque tour, utilisation de Application.ScreenUpdating, Application.EnableEvents, limitation des select et activate, et même lancement de la macro à partir d'un 2eme fichier contenant la liste des dates, et ouvrant et fermant le fichier principal à chaque run). On pourrait sûrement faire encore mieux en terme d'optimisation du code mais pour moi le problème n'est pas là puisque la macro arrive bien à s'executer pour un nombre limité de dates. J'utilise excel 2013 version 64bits.

Savez vous ce qui pourrait provoquer cette limitation?

Merci par avance pour vos lumières si vous avez des idées !

Salut et bienvenue sur le forum.

Là comme ca, il y a pas de raison justifiant que le code ne fonctionne plus à partir de 4 dates.

Mais sans ton fichier, il sera difficile de t'aider.

Par contre, 10min d'exécution pour traiter une seule date, ca parait très long...

Jers

Rechercher des sujets similaires à "macro fonctionnant uniquement nombre limite runs"