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 :

Une macro pas toujours rapide


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 33
    Par défaut Une macro pas toujours rapide
    Bonjour,

    Je suis actuellement un stagiaire VBA dans une entreprise non informatique. Je dois reprendre le code d'un programme qui fait des bilans financiers, et qui a été écrit il y a plusieurs mois.

    J'ai découvert une macro d'un fichier excel qui s'exécute en 15 secondes (une durée convenable). Le fichier qui contient cette macro a une taille de 1670 Ko.
    Mais lorque d'autres fichiers excel sont ouverts à côté, le temps d'exécution est démultuplié. Lorsqu'un autre classeur (d'une taille de 262 Ko) est ouvert à côté, le temps d'exécution est multiplié par 1000.

    Cela est particulièrement problématique parce qu'on m'a demandé de faire en sorte ce classeur de 262 Ko appelle cette macro.

    Pour quelle raison le temps d'exécution augmente-t-il autant, et comment éviter ça ?
    Je précise que j'ai 4 Go de mémoire vive, ça devrait être suffisant non ?

    Merci d'avance pour vos réponses.

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour corent2.

    Hum... ton explicitation du problème ne va pas permettre à la communauté de te donner une réponse.
    Une pistes :
    - le fichier depuis lequel tu appelles la macro contient énormément de calculs automatiques
    => solution : place "Application.Calculation = xlCalculationManual" en début de programme et "Application.Calculation = xlCalculationAutomatic" à la fin.

    Mais c'est à l'aveugle que je te dis ça. Il y a surement autre chose.

    Je te laisse donc revenir vers nous avec plus de détails et après avoir testé la solution proposée.

    Cordialement,
    Kimy

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 33
    Par défaut
    Ah merci, le problème est résolu.
    Honte à moi, j'avais pensé à Application.ScreenUpdating mais pas à Application.Calculation.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Fonction WeekDay fonctionne sur une macro, pas dans une autre
    Par eric4459 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/09/2014, 17h10
  2. [XL-2007] excuter une macro pas par pas
    Par iliesss dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/11/2011, 10h02
  3. Une macro pas comme les autres:)
    Par Lucie75 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/08/2007, 12h11
  4. Réponses: 3
    Dernier message: 16/03/2007, 18h04
  5. Fonction ne retournant pas toujours une valeur
    Par mastochard dans le forum C
    Réponses: 14
    Dernier message: 25/05/2006, 12h13

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