2017-04-11 1 views
3

Je travaille avec un document Excel assez volumineux (~ 9 Mo) de plus de 60 feuilles contenant chacune de nombreuses formules CUBEVALUE.Excel - Optimisations de fichier

Ce document prend plus de 2 minutes pour ouvrir (sans compter rafraîchissement des valeurs) et alors que j'ai lu beaucoup de recommandations, par exemple:

  • fractionnement des feuilles (pas possible en raison de la nature de ce fichier)
  • formules plus courtes, (pas possible)
  • testé sur 32 et 64 bits (performance n'est pas notablement différente)

Je me demandais si vous les gars est tombé sur les façons de optimiser le temps d'ouverture pour Excel sans en altérer de manière significative le contenu, ni d'autres suggestions.

+1

Je pense que c'est mignon que vous pensez que 9Mbs est '* plutôt grand *'! – Jeeped

+1

J'ai eu le même problème une fois et j'ai fait beaucoup de recherches à cet égard. Essentiellement, cela se résume à ceci: tout faire en vrac est beaucoup (!!) plus efficace et plus rapide. Ainsi, vous devez tenir compte de toutes vos exigences en matière de données dans Excel, extraire toutes ces données dans un GO à partir du serveur (dans une feuille séparée), puis extraire les données à l'aide de formules intégrées d'Excel comme celle-ci. http://stackoverflow.com/questions/42695455/control-database-form-excel-through-vba/42720826#42720826 L'alternative est de tout faire avec VBA. Il n'y a rien de plus rapide que ça. Mais la sortie est corrigée. – Ralph

Répondre

3
  1. Enregistrez-le en tant que classeur binaire Excel (.xlsb). Vous pouvez conserver des macros, la taille du fichier sera de 25 à 35% de l'original et de nombreuses opérations (pas seulement l'ouverture/fermeture) seront plus rapides. Débarrassez-vous des fonctions volatiles qui recalculent la feuille de calcul inutilement. INDIRECT, OFFSET, ADDRESS, TODAY et NOW font partie de la liste des fonctions volatiles. La plupart peuvent être remplacés par des alternatives non volatiles.

  2. Améliorez le calcul restant du classeur en rendant les formules de feuille de calcul et les fonctions plus efficaces. L'aide sur ceci est disponible au Code Review - Excel, un partenaire de StackExchange. Aucun exemple fourni donc aucune aide spécifique offerte.

  3. Améliorez les temps d'exécution de codage de sous-procédure sur le même site. Les gros blocs doivent être traités en mémoire avec des tableaux, pas bouclés cellule par cellule, etc. Encore une fois, aucun exemple fourni, donc aucune aide spécifique offerte.

+1

Merci beaucoup pour ça! XLSB a fait une énorme différence: 30% plus petit, 1/3 du temps d'ouverture précédent. – Erika

1

Si vous utilisez le réseau d'entreprise, essayez d'abord de télécharger le fichier sur votre ordinateur local puis de l'ouvrir.

Il peut également dépendre de l'existence de liens vers d'autres fichiers, essayez de réduire leur nombre au minimum s'il y en a.

Néanmoins, le volume de données dans votre fichier - est le principal moteur de l'heure d'ouverture.