Rapport de message :*
 

Re: Forcer le calcul à l'activation d'un filtre automatique

Titre du sujet : Re: Forcer le calcul à l'activation d'un filtre automatique
par JeanMarie le 17/06/2012 07:01:07

Bonjour Criscris, Didier, le forum

J'ai regardé ton problème, malheureusement un changement d'état d'un filtre automatique ne déclenche pas d'événement qui te permettrait de recalculer ta feuille.
Je ne pense pas que ce soit les 1300 et les 5 niveaux de plans qui sont la source de la lenteur lors de l'ouverture mais, certainement les calculs avec les SOMMEPROD et SOUS.TOTAL.
Si tu as une multitude de formules ou tu imbriques la fonction SOUS.TOTAL dans SOMMEPROD, exemple =SOMMEPROD(SOUS.TOTAL(2;DECALER(...;LIGNE(...:....)));....:....=.), effectivement c'est une source de lenteur. Si c'est le cas, je te conseille vivement de rajouter une colonne à ton tableau qui ne déterminera si la ligne est affichée ou ne l'est pas lors d'un filtre automatique, la formule pour le coup gagne en simplicité. L'imbrication de fonctions dans les formules peuvent simplifiée la constructions des tableaux dans le sens ou il n'y a pas de formules à étirer pour suivre l'évolution des tableaux de données, mais en revanche cela alourdi les temps de calculs....

D'autres possibilités peut-etre envisagées,
      - triée la base de donnée, permet de raccourcir les plages de calcul dans SOMMEPROD, on remplace des ...:... par des plages dynamiques déterminer par DECALER. (voir l'article de Mireille sur le site)
      - en fonction de tes critères, voir si l'utilisation de la fonction FREQUENCE, peut résoudre le problème, mais sans fichier d'exemple impossible de tant dire plus.

@+Jean-Marie