Sabil
XLDnaute Nouveau
Bonjour,
Tout d'abord, mille merci à tous les contributeurs, c'est la première fois que j'ai besoin de poster une question en 4 ans d'utilisation occasionnelle...
Afin d'améliorer la rapidité de la mise à jour des affichages dans un classeur, j'ai remplacé - grâce aux conseils trouvés ici - 25 formules à rallonges (avec des SI // RechercheV et autres joyeusetés) par des fonctions dédiées écrites sous VBA.
Cela a très bien marché et j'ai retrouvé une rapidité d'affichage normale (j'en étais auparavant à 5 s d'attentes après avoir modifié une case).
Malheureusement, il semble que cela ait pour effet de ralentir considérablement l'utilisation du filtre automatique Excel dans les colonnes. Ce fichier est utilisé comme une base de donnée pour retrouver des infos par référence (demandeur/statut de la demande/dates etc...) et quand je sélectionne un élément (le nom d'un demandeur, une plage de date, un statut...), je mets plus de 10s à retrouver la main sur le fichier.
Pour être précis, le filtre semble rapide car l'affichage du nb d'enregistrements trouvés est quasi immédiat, mais il déclenche une mise à jour du calcul du classeur très lente : on voit défiler le % de calcul pour les processeurs - cf image ci-dessous).
J'ai essayé de supprimer les nouvelles fonctions VBA de la feuille (pensant créer deux feuilles : une pour filtrer l'affichage des données de base, et une autre avec les colonnes pour les calculs par fonctions), mais tant que je ne supprime pas carrément les fonctions créées dans VBA, je conserve cette lenteur de mise à jour du fichier.
Précisions : cette lenteur existe même quand la fenêtre VBA est fermée, je travaille sur Excel 2010, le fichier fait 2.5 Mo pour moins de 2300 lignes de données. Cette lenteur a été observée sur deux autres PCs.
Je ne joints pas de fichier exemple pour l'instant (ce sera long de créer un exemple représentatif sans info industrielle), car j'ai l'espoir d'être passé à côté d'une "bonne gestion" des fonctions pour résoudre ce problème. Si ce n'est pas le cas, je prendrai le temps, bien sûr.
Désolé si j'ai raté un fil à ce sujet, j'ai cherché avant de demander, mais je n'ai rien trouvé...
D'avance merci pour votre aide.
Tout d'abord, mille merci à tous les contributeurs, c'est la première fois que j'ai besoin de poster une question en 4 ans d'utilisation occasionnelle...
Afin d'améliorer la rapidité de la mise à jour des affichages dans un classeur, j'ai remplacé - grâce aux conseils trouvés ici - 25 formules à rallonges (avec des SI // RechercheV et autres joyeusetés) par des fonctions dédiées écrites sous VBA.
Cela a très bien marché et j'ai retrouvé une rapidité d'affichage normale (j'en étais auparavant à 5 s d'attentes après avoir modifié une case).
Malheureusement, il semble que cela ait pour effet de ralentir considérablement l'utilisation du filtre automatique Excel dans les colonnes. Ce fichier est utilisé comme une base de donnée pour retrouver des infos par référence (demandeur/statut de la demande/dates etc...) et quand je sélectionne un élément (le nom d'un demandeur, une plage de date, un statut...), je mets plus de 10s à retrouver la main sur le fichier.
Pour être précis, le filtre semble rapide car l'affichage du nb d'enregistrements trouvés est quasi immédiat, mais il déclenche une mise à jour du calcul du classeur très lente : on voit défiler le % de calcul pour les processeurs - cf image ci-dessous).
J'ai essayé de supprimer les nouvelles fonctions VBA de la feuille (pensant créer deux feuilles : une pour filtrer l'affichage des données de base, et une autre avec les colonnes pour les calculs par fonctions), mais tant que je ne supprime pas carrément les fonctions créées dans VBA, je conserve cette lenteur de mise à jour du fichier.
Précisions : cette lenteur existe même quand la fenêtre VBA est fermée, je travaille sur Excel 2010, le fichier fait 2.5 Mo pour moins de 2300 lignes de données. Cette lenteur a été observée sur deux autres PCs.
Je ne joints pas de fichier exemple pour l'instant (ce sera long de créer un exemple représentatif sans info industrielle), car j'ai l'espoir d'être passé à côté d'une "bonne gestion" des fonctions pour résoudre ce problème. Si ce n'est pas le cas, je prendrai le temps, bien sûr.
Désolé si j'ai raté un fil à ce sujet, j'ai cherché avant de demander, mais je n'ai rien trouvé...
D'avance merci pour votre aide.