IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E]Poids d'un projet VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 104
    Par défaut [VBA-E]Poids d'un projet VBA
    Bonjour,
    j'ai un tres gros fichier Excel, qui etait deja assez lourd, mais pour automatiser la saisie j'ai ajouté du code VBA, et il est donc desormais encore plus lourd, et met enormement de temps a se lancer. Ya t'il un moyen de diminuer ce poids?
    J'ai penser declarer toutes mes variables, car comme elles sont actuellement en variant elles prennent beaucoup de place, pensez vous que sa puisse beaucoup jouer? et si vous avez d'autres idées n'hesitez surtout pas a m'en faire part. Merci d'avance.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Il faut vraiment que le projet VBA soit lourd pour ralentir (encore) l'ouverture d'un fichier important par lui-même, et sans une idée de ce que fait ton code il est difficile de te répondre.
    Encore faudrait-il que ce code démarre à l'ouverture de ton fichier et que tu aies un grand nombre de variables déclarées en Public ou un userform particulièrement chargé.
    Les calculs ralentissent une ouverture. Si tu en as beaucoup, alors cela explique le problème.
    Tu as deux solutions : Dans Excel, -> Outils -> Options - Calculs -> Sur ordre
    Dans VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Worksheets(1).EnableCalculation = False
    'ou
    Application.Calculation = xlManual
    Pour lancer le calcul, dans Excel -> F9
    Dans VBA
    Tu peux aussi lancer le calcul avant sauvegarde
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CalculateBeforeSave = True
    Jète un oeil si cette solution te convient.
    Les graphes : As-tu beaucoup de graphes dans ton fichier ? Si oui, tu peux les remplacer par leur "Position". Dans Excel, Outils -> Options -> Affichage -> Indicateurs de position
    Puis tu peux les afficher quand tu en as besoin, par soft ou manuellement dans Excel.
    Suffit de changer l'option. Pour masquer tous les objets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.DisplayDrawingObjects = xlHide
    Pour les afficher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.DisplayDrawingObjects = xlall
    Commence par là

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 104
    Par défaut
    J'avais des formules dans Excel que j'ai enlever pour remplacer par du code VBA, ce qui m'a fait beaucoup gagner en poids. Mais c'est encore assez lourd mais je peux plsu trop reduire car maintenant ca doit etre en partie du a la grande quantité de données dans les tableaux.
    Merci pour l'aide.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    fait attention, si tes formules sont correctement faites, elles sont normalement plus rapide que le vba.

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Citation Envoyé par rodrigue62
    j'ai un tres gros fichier Excel, qui ....... met enormement de temps a se lancer.
    Le problème est à l'ouverture, et les calculs nombreux ralentissent bien l'ouverture

Discussions similaires

  1. [vba-e]Transformation d'un projet vba-e en un projet exécutable
    Par Lexot2 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 09/09/2006, 20h53
  2. Réponses: 1
    Dernier message: 23/07/2006, 22h15
  3. [Excel]Projet VBA protégé, comment déprotéger ?
    Par tonf dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/06/2006, 19h05
  4. "Nettoyer" Un PROJET VBA ??
    Par samlepiratepaddy dans le forum Access
    Réponses: 4
    Dernier message: 30/10/2005, 17h58
  5. Migrer un projet VBA Excel vers VB
    Par Phoon0 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/10/2005, 11h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo