Lenteur de macros excel

Fermé
Djoulaye - 9 oct. 2009 à 03:48
eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 19 mai 2024 - 11 oct. 2009 à 18:17
Bonjour,
j'ai créé dernièrement un programme qui est utilisé dans mon entreprise alors que je ne suis absolument pas une pro de programmation. Ce programme est plutôt volumineux sauf que tous les calculs sont utilisés.

Bref voici mon problème :

il quelques jours à peine toutes les macros du programme marchaient à merveille. Mais suite à (je crois que c'est la raison...) une petite erreur qui avait fait une liaison entre 2 fichiers excel (non volontaire et que j'ai supprimé par la suite) les macros sont rendu affreusement lentes...

Certaines prenaient quelques secondes et sont rendues à près de 2 minutes...pourquoi???

Au secours, c'est rendu un enfer et j'en ai marre de chercher...lol....

Merci beaucoup à tous mes sauveurs...:)
A voir également:

8 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 688
9 oct. 2009 à 08:43
bonjour

Je comprends ton désarroi mais sans avoir ton code, cela ne va pas être facile de te donner une solution.

Tu nous mets à la place du contrôleur aérien qui devrait piloter un avion qui rentre dans son espace sans avoir les commandes.
0
Rebonjour,

c'est pas vraiment le code qui est important dans mon problème pour 2 raisons :
1 : Le temps d'exécution pour la même macro dans le même programme sur le même ordinateur était de quelques secondes le mois dernier disons et depuis quelque temps elle prend de 1 à 2 minutes!!
2 : J'ai fait du débogage pas à pas et les endroits qui sont affreusement longs sont lorsque je fais un filtre avancé de données (aucune formules, que des nombres et du texte).

Voici un exemple de filtre ou tout ralenti :

Range("G102:DB5000").AdvanceFilter Action = xlFilterCopy, Criteria Range := Range("DL96:DL97"), CopytoRange := Range("DE102:GZ102"), Unique := False

Merci de m'aider...c'est vraiment l'enfer travailler maintenant!!!
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 688
9 oct. 2009 à 21:53
bonjour

Si tu penses que c'est ta modification sur la liaison qui a ralenti le processus ne peux-tu pas essayer de la remettre en fonction ?

Ton filtre n'a-t-il pas beaucoup plus de valeurs à gérer ?
0
Non, en fait la liaison était tout simplement une erreur, je ne veux pas du tout en avoir.

Je ne pense pas que ce soit le problème sauf que ce dit problème a commencé à peut près dans les mêmes temps...

C'est vraiment étrange....même si par exemple je fais le même filtre "manuellement" c'est EXTREMEMENT long... mais si je copie toutes les données vers un autre fichier excel et que je fais le filtre il n'est pas long du tout.

Pourtant c'est les même données....et j'utilise la fonction

Application.ScreenUpdating = False

...wtf?? :-S
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 688
9 oct. 2009 à 23:09
bonjour

Tu ne peux pas mettre le résultat de ton filtre sur un onglet différent ?
0
Bah ca change absolument rien. Pourquoi ca changerait? lol
Que tu colles les résultats sur la même feuille ou sur une autre, logiquement sur la même feuille cé moins long, non?
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 688
11 oct. 2009 à 08:29
bonjour

Pourquoi ca changerait?

Pourquoi changer effectivement un classeur où tout fonctionne parfaitement ?

Comme la macro fonctionnait parfaitement et que rien n'a changé sauf une petite amélioration, il n'y a aucune raison de ne pas être satisfait de l'application.
0
Hum...cette réponse la est pas vraiment utile en fait...

mais pourtant c'est vrai que tout fonctionnait comme un charme il n'y a pas si longtemps que ca. Franchement si tu ne veux pas m'aider, écrit rien.

Désespoir total.
0
eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 19 mai 2024 7 217
11 oct. 2009 à 18:17
Bonjour,

Quand il n'y a pas de réponse évidente il faut y aller au hasard.
Hasard quand même guidé par le feeling dû à l'expérience qui permet d'éliminer les possibilités au fur et à mesure. Et gb a souvent de très bonne idées...
Si ta base n'a pas gonflé en 1 mois pour expliquer la régression, tu pourrais gagner du temps en recréant ton fichier par copiés/collés et tester.
eric
0