SOMMEPROD

Bonjour à tous et merci pour votre aide

Voilà, j'utilise régulièrement la fonction SOMMEPROD pour des calculs de recherche et de massification (voir exemple joint). Mes fichiers étant de plus en plus volumineux (130 000 lignes) sont de plus en plus long ( > 2 heures). J'aurai souhaité avoir une aide sur les points suivants :

1/ Est-ce la bonne formule a utiliser ?

2/ Comment faire autrement ?

J'utilise excel 2007.

Bonjour

Un TCD pourrait solutionner le problème

Amicalement

Nad

Bonjour.

Oui, c'est parfait.

Il y en a qui disent que la forme « native » de SOMMEPROD , dont le syntaxe consiste des critères comme arguments , est un peu plus vite à calculer vis-à-vis la forme avec la « produit » des critères, soit:

=SOMMEPROD(--($C$2:$C$6=C2);--($F$2:$F$6=F2);$A$2:$A$6)

Cordialement

Re

Je n'ai jamais testé mais ce qui est sûr c'est que SOMMEPROD étant une formule matricielle, sur 130 000 lignes ce n'est pas envisageable.

Nad

Nad a écrit :

Re

Je n'ai jamais testé mais ce qui est sûr c'est que SOMMEPROD étant une formule matricielle, sur 130 000 lignes ce n'est pas envisageable.

Nad

Oui, cela est sûr.

Cordialement

Auriez vous une solution avec macro ?

ou autre....

merci..

Le TCD n'est pas adapté au traitement de l'information que je souhaite faire après

Bonjour,

La bonne solution a été proposée par NAD.

Maintenant, on peut automatiser la construction du TCD en VBA et ne conserver que les résultats.

Cependant, il faut savoir précisément ce que tu veux en terme de présentation, ou mettre les résultats, etc...

Ton exemple ne doit pas refléter ton vrai fichier.

A te relire.

Merci

Effectivement, j'ai besoin du poids sur chaque ligne pour calculer un coût différent sur la ligne et pondérer les lignes massifiés par tranche de de prix.

merci

Bonjour,

D'accord avec les précédents intervenants.

Ton problème s'y prêtant parfaitement, il sera difficile de faire plus rapide qu'un TCD.

Tu peux mettre ton TCD sur une autre feuille et récupérer les données avec LIREDONNEESTABCROISDYNAMIQUE() pour retrouver ta disposition antérieure.

La seule macro que j'ai mise est un bouton Actualiser pour ne pas oublier.

Teste sur un grand fichier et dit ce que tu en penses.

eric

merci, c'est vrai que c'est une solution simple et efficace

mais pourquoi le dans la formule =LIREDONNEESTABCROISDYNAMIQUE("poids net";TCD!A4;"Livraison";C3;"code client rgp";F3), le TCD!A4 n'est -il pas bloqué. J'ai dû pour que cela fonctionne le bloquer.

Y-a-t-il une raison ?

Bonjour,

Un simple oubli de ma part.

Sur ton exemple on ne quittait pas le TCD donc ça ne gênait pas.

Tu as bien rétabli.

eric

Rechercher des sujets similaires à "sommeprod"