Bonjour. J’ai 23 lignes avec en formule un “sommeprod”
=SOMMEPROD((C$6:C$800=H10)*(D$6:D$800=B$6:B$800)*(E$6:E$800>B$6:B$800))
A chaque donnée qui rentre j’ai un blocage de plusieurs minutes. Serait-il possible de bloquer ses formules et ne les demander que lorsqu’on est intéressé par les statistiques. Merci.
Il est surprenant que ces 23 SOMMEPROD
créent un blocage. Chacun demande 2 400 comparaisons et donc un total de 55 200 comparaisons à chaque changement ou ajout. Avec environ une comparaison par microseconde, cela devrait paraître instantané, ce qui est le cas sur l’exemple que j’ai construit. Je pense donc qu’il y a un souci ailleurs dans le document.
23SommeProd.ods (13.7 KB)
C’est un document qui ne comporte aucune indiscrétion. Je le partage volontiers.
Suivi magasins.ods (145.7 KB)
Je vois une modification qui peut réduire le temps de calcul d’environ au moins 400 fois.
Modifier les formules dans D15 et E15 comme suit, pour ne prendre comme lignes de comparaison que les 9 lignes précédentes et les 9 suivantes.
=SI.CONDITIONS(B15=0,0,NON(MIN.SI(B6:B24,A6:A24,A15)),0,ET(MIN.SI(B6:B24,A6:A24,A15),D15=0),MIN.SI(B6:B24,A6:A24,A15) ,MIN.SI(B6:B24,A6:A24,A15),MIN(MIN.SI(B6:B24,A6:A24,A15),D15))
=SI(A15<>"",SI(D15>0 ,MAX(MAX.SI(B6:B24,A6:A24,A15),E15),B15),0)
Et ensuite copier ces formules jusqu’à D800. Cela implique qu’un produit ne peut figurer que 9 fois au maximum et que la liste des produits est triée.
Je ne touche pas aux formules dans D6:E14 car il faudrait crér des lignes vides pour accomoder les formules précédentes.
ATTENTION ! Avant de modifier les formules en production, bien tester. Je n’ai pas vérifié si les Prix Min et Prix Max gardaient bien l’historique de valeur en modifiant les formules.
Suivi magasins.ods (152.5 KB)
Effectivement c’est une bonne idée d’optimisation, mais il ne faudrait pas se servir des boutons de tri sur la ligne 5
Effectivement c’est une solution très efficace. Merci.
Je constate un problème. En décochant le calcul automatique la touche F9 ne gère pas les formatages conditionnels. ( C’est peut être un bug )