Excel VBA Macro qui fait freeze Excel

[Résolu/Fermé]
Signaler
Messages postés
332
Date d'inscription
jeudi 12 février 2009
Statut
Membre
Dernière intervention
25 avril 2019
-
Messages postés
332
Date d'inscription
jeudi 12 février 2009
Statut
Membre
Dernière intervention
25 avril 2019
-
Bonjour à tous/toutes,

J'ai un fichier Excel avec plusieurs macro. J'utilise l'une d'entres elles pour copier des résultats depuis une page internet, les mettre dans un tableau, et recommencer. Suivant des détails techniques, elle reconnait automatiquement si le texte est une adresse, le range dans la case adresse, et fait de même pour l'adresse.
Il fait ça page par page, donc 10 entrées à la fois.
J'ai créé une autre macro qui boucle cela, mais je me suis rendu compte que je ne peux pas copier automatiquement plus de 5 pages par tour de boucle.
Si je mets 6, Excel va copier normalement la 5ème et au moment d'attaquer la 6ème, il se bloque et ne répond plus. Obligé de devoir le fermer. J'ai optimisé ma macro au possible et impossible de dépasser ce seuil de 5 pages par boucle.

Ma question est : ce freeze automatique à 5 pages est il dû à une limitation logicielle (Excel qui prendrait trop de processeur et/ou de RAM?) ou du logiciel en lui même et donc à un paramètre dans le tableur ?

Si quelqu'un connaît la réponse à ma question et/ou une solution, je suis preneur.

Merci d'avance, bonne soirée.

1 réponse

Messages postés
14821
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 septembre 2021
300
Sans plus de détail, dur de répondre, peux-tu montrer ton code ?
Messages postés
15987
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
27 septembre 2021
1 536
Bonjour,

puis change de page
Ok, pour vous c'est le changement de page qui est en cause??
Messages postés
332
Date d'inscription
jeudi 12 février 2009
Statut
Membre
Dernière intervention
25 avril 2019
35
Bonjour,

Pour moi non, la macro effectue la copie de 5 pages sans aucun soucis. Mais la 6ème fait freeze excel. Je dirais que c'est Excel qui limite le nombre de pages par "peur" d'une boucle infinie, qui en réalité, ne l'est pas
Messages postés
332
Date d'inscription
jeudi 12 février 2009
Statut
Membre
Dernière intervention
25 avril 2019
35
Re,

Je viens d'effectuer un "allègement" du code pour réduire le nombre de boucles "If", mais cela ne change rien et on ne dépasse toujours pas les 5 pages.
Messages postés
15987
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
27 septembre 2021
1 536
Re,

Sans avoir ce que vous importez, pas possible de vous aider.
Si vous appuyez sur ctrl et pause, sur quelle ligne de code s'arrete l'execution??

Essayez en sautant la page six et continuez sur la page sept etc...
Messages postés
332
Date d'inscription
jeudi 12 février 2009
Statut
Membre
Dernière intervention
25 avril 2019
35
Re bonjour,

Dernier message car solution... inattendue trouvée !
Pour info, CTRL+Pause ne fait étrangement rien.

La solution ? C'est d'ajouter DoEvents en début de code.
Cette ligne indique à la macro de laisser la main à l'utilisateur pendant l'exécution du code, c-a-d on peut utiliser excel pendant que la macro tourne. De ce fait, excel considère qu'il n'y a pas de "bugs" et ne freeze pas.
https://stackoverflow.com/questions/30598699/how-to-prevent-a-macro-from-freezing-turning-white-the-excel-window

Merci de votre aide, et bonne continuation à tous.