Formule Excel qui ralentit une macro

Bonjour,

J'ai un fichier avec une macro (activer par un click sur bouton) qui cherche certaines infos sur ma feuille 1 epour les afficher sur ma feuille 2.

J'ai aussi une feuille 3 ou grace à une fonction sommeprod je compte et planifie certaines données.

Malheureusement depuis que j'ai mis en place mes formules sommeprod, ma macro rame énormément. (j'ai retester ma macro après avoir enlevé mes formules sommeprod et ça repart nickel)

Quel peut être le problème?

Ci-joint, le fichier s'il peut vous aider.

Merci par avance.

Cordialement.

Bonjour,

ce que tu peux faire c'est désactivé le calcul automatique des formules en début de traitement, et le réactiver à la fin de ta macro pour que tes formules SOMMEPROD se mettent à jour (enfin sauf si ton traitement a besoin des résultats de tes SOMMEPROD pour fonctionner).

Pour cela il suffit de mettre au début :

Application.Calculation = xlManual ' bloque le calcul automatique.

et à la fin :

Application.Calculation = xlAutomatic ' remet en place le calcul automatique

Cordialement.

Merci pour cette solution.

Après test, il est vrai qu'elle diminue le lag mais ne le fait malheureusement pas disparaitre, j'ai encore le temps de voir mouliner et entre-apercevoir le message (ne répond plus).

Solution qui peut m'aider que je conserve mais qui ne solutionne pas à 100% mon questionnement.

Merci.

Cordialement.

Quand tu fais tourner ton fichier, il n'y a que celui la d'ouvert ?

Je viens de rajouter le blocage du calcul automatique dans ton fichier transmis, le traitement se fait en moins de 5s sans aucun lag ni "ne répond pas".

Le fichier que tu nous as transmis est ton fichier réel ou le vrai est beaucoup plus conséquent ? Car cela peut aussi venir du nombre de ligne à traiter dans ton vrai fichier ?

A l'exception de ma boite mail, seule mon fichier excel est ouvert sur mon pc

Mon vrai fichier de travail est plus conséquent (environ 200 lignes et 50 colonnes sur la première feuille)

Mais j'ai aussi tester sur mon petit fichier test le résultat est le même une diminution du lag mais qui est toujours là

Je testerai chez moi se soir pour voir si le résultat est le même on ne sait jamais.

Après cela peut aussi être un problème "matériel" si je puis dire, avec au choix (voir plusieurs même choix parmi la liste) :

- un ordinateur vieillissant et pas très puissant sur ton lieu de travail.

- une trop grande partie de la mémoire qui est accaparée par des tâches de fond (ce qui peut arriver si vos administrateurs réseaux font tourner pas mal de chose, je sais que chez nous, entre les trucs pour regarder ce qui transit par le réseau, contrôler les accès internet, les trucs chargés au démarrage en fonction du profil, les logiciels pour prendre le contrôle à distance, etc etc, il y a une bonne partie de la mémoire qui part là-dedans...)

- un logiciel quelconque qui "bride" Excel (logiciel type VUEM utilisé pour charger des choses au démarrage du pc et qui peut-être configuré pour brider une application utilisant plus de X% de la mémoire de la machine).

- etc etc.

Mais bon, tout cela me semblerait plausible sur ton gros fichier, mais si tu dis que cela lag aussi sur ton fichier test, cela serait étonnant, encore une fois à mon travail, le traitement n'était pas instantané mais très rapide quand même, entre 2 et 4s sans qu'Excel ne "bug".

Après si tu peux transmettre ton fichier réel (en l'anonymisant), je peux l'essayer de mon côté également.

Bonjour

Bonjour Zirak

J'ai une autre idée : Cela vient des formules qui sont trop longue en temps de calcul

J'ai modifié les formules avec des plages dynamiques

A tester

Banzai64 a écrit :

Bonjour

Bonjour Zirak

J'ai une autre idée : Cela vient des formules qui sont trop longue en temps de calcul

J'ai modifié les formules avec des plages dynamiques

A tester

Il y a surement de cela aussi, mais si le calcul auto est désactivé, comment cela peut-il ralentir la macro ?

De plus, je devrais également constater le problème de mon côté aussi non ?

Sans le calcul désactivé, j'ai effectivement le lag et le "Excel ne répond plus", par contre avec, nikel comme je disais. Bizarre.

Bonjour

Zirak a écrit :

De plus, je devrais également constater le problème de mon côté aussi non ?

Oui tu le constates les 4 à 5 secondes ce sont les formules pour se mettre à jour qui les utilisent

Fais l'expérience de mettre un timer

Tu affiches le timer juste avant le passage de manuel en automatique, tu verras que le sablier continue à tourner, et le temps de la macro sera inférieur à la seconde

C'est ce que j'ai constaté

Rebonjour,

Le fait de nommer mes plages est quelque chose que j'oublie constamment!!

Et c'est bien dommage car c'est vrai que cela accélère nettement les choses.

Avec les plages nommées et le deux lignes de code dans ma macro je récupère un temps d’exécution nickel.

Merci donc à vous deux pour vos solutions!!

Problème réglé pour moi.

Merci et bonne soirée.

Rechercher des sujets similaires à "formule qui ralentit macro"