SOMMEPROD fait ramer mon ordi, cherche une substituion

laurent89

XLDnaute Nouveau
Bonjour à tous

Voilà j’ai un GROS problème de performance, j’utilise de nombreuse fonctions SOMMEPROD au sein de mon fichier (celui-ci, largement simplifié est en pièce jointe). Le problème s’est que mon ordinateur rame, du à la grande quantité de fonction et donc de calcul, le processeur a du mal à suivre le rythme.

Le problème c’est que je ne sais ABSOLUMENT PAS comment arriver au même résultat sans utiliser la fonction SOMMEPROD. VBA est peut être la solution (je ne m’y connais pas beaucoup en vba, cela fait-il moins « ramer » un ordinateur que de calculer des fonctions ?)

Je ne suis pas capable d’y arriver tout seul, quelqu’un pourrait-il m’aider à monter tout ca en vba, ou une autre solution s’il existe.

Merci de votre aide !
 

laurent89

XLDnaute Nouveau
Re : SOMMEPROD fait ramer mon ordi, cherche une substituion

bonjour à tous

Voilà je vous joint le fichier, cette fois cela devrait mieux marcher, difficle de passer de 1mo40 à moins de 48.8ko!! :)

J'espere que vous pourrait m'aider car vous aller voir je pense le patinnage du processeur :(

Merci à vous

Cordialement
 

Pièces jointes

  • exemple.zip
    47.6 KB · Affichages: 60
  • exemple.zip
    47.6 KB · Affichages: 67
  • exemple.zip
    47.6 KB · Affichages: 66
Dernière édition:

hoerwind

XLDnaute Barbatruc
Re : SOMMEPROD fait ramer mon ordi, cherche une substituion

Re,

Cela ne m'étonne pas !

Les formules matricielles, comme SOMMEPROD n'autorisent pas de faire référence à des colonnes entières, comme A:A, mais uniquement des plages définies, comme A1:A500.

Modifie toutes tes formules en conséquence, et tu constateras une nette amélioration.
 

laurent89

XLDnaute Nouveau
Re : SOMMEPROD fait ramer mon ordi, cherche une substituion

Merci hoerwind, en effet en limitant le nombre de lignes dans toutes mes fonctions SOMMEPROD, mon ordinateur ne rame presque plus!

Voilà un bon point :)

Faire tout ceci sur VBA peut quand même être plus facile,

Si quelqu'un a une idée, je suis preneur :D

Merci hoerwind en tou cas ;)
 

hoerwind

XLDnaute Barbatruc
Re : SOMMEPROD fait ramer mon ordi, cherche une substituion

Re,

Tu peux encore fortement diminuer le temps de calcul en nommant les plages de recherche et en limitant ces plages à leur contenance exacte par la formule =DECALER(...;;;NBVAL(...)).

J'en ai fait dernièrement l'expérience, le fichier avait "maigri" de 35% après cette opération.

Évite aussi les MFC sur des lignes ou colonnes entières.
 

laurent89

XLDnaute Nouveau
Re : SOMMEPROD fait ramer mon ordi, cherche une substituion

"Tu peux encore fortement diminuer le temps de calcul en nommant les plages de recherche et en limitant ces plages à leur contenance exacte par la formule =DECALER(...;;;NBVAL(...))."

Je suis pas sur de savoir comment faire :(, il faut aller dans famille "gestionnaire des noms" ??

Merci
 

liloucmoi

XLDnaute Occasionnel
Re : SOMMEPROD fait ramer mon ordi, cherche une substituion

Bonjour tous,

Non non, decaler est une formule :

petit exemple vite fait :

Code:
=SOMME(DECALER(B:B;;;NBVAL(B:B)))
Cette formule va sommer les cellules de la colonne B à la conditions que celles-ci soient adjacentes.

Si les trois premières cellules de la colonne B sont remplies, cette formule est equivalente à :
Code:
= SOMME(B1:B3)


++
 

Statistiques des forums

Discussions
312 839
Messages
2 092 691
Membres
105 509
dernier inscrit
hamidvba