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 :

Méthode d'optimisation lors de l'execution d'une macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 48
    Par défaut Méthode d'optimisation lors de l'execution d'une macro
    Bonjour à tous,

    Je souhaiterais savoir si il existe une méthode pour optimiser une macro au maximum. Je m'explique, j'ai un grosse macro dans un seul Sub et je voudrais savoir si le fait de découper cette grosse macro en plus petites macros et ensuite les appelé au moment où j'en ai besoin. Serait-ce plus efficace?

    Pour infos je travaille sur 2000 fichiers et je passe 1h30 pour traiter 760 de ces fichiers avec la macro.

    J'en profite aussi pour remercier toutes les personnes qui m'ont aidés jusqu'à présent, la preuve j'ai de moins en moins besoin d'aide. Je progresse plutot bien c'est cool ça.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    A mon avis il n'y a pas de règle absolue pour ce que vous demandez.

    Qu'est-ce qu'une grosse macro ?

    Déjà pour la maintenance, il vrai que le découpage peut faciliter les modifications qui seraient à faire et pour le temps de traitement si ce découpage peut éviter de faire des tests qui ne sont pas utiles dans tous les cas, on peut également l'améliorer.

    A savoir maintenant également la taille de vos fichiers. Plus elle est importante, plus les fichiers contiennent de formules (penser à passer en calcul manuel lors du chargement quand c'est possible), plus ils contiennent de liaisons (idem calcul manuel) et plus le temps de chargement et de déchargement est important par rapport au temps de traitement.

    Donc, sans connaître cette macro, il est impossible de réponse précisément sauf à dire qu'il est très rare qu'un code ne soit pas perfectible.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 80
    Par défaut optimisation
    Bonjour,

    La "compilation" XLA permet normalement un code plus compact mais cela ne doit pas changer grand chose. Avez-vous pensez à lancer plusieurs XL en parallèle ? Cela suppose bien entendu que la "grosse procédure" puisse être lancée plusieurs fois.
    Sans connaître le code difficile de donner des conseils.

    Courage

  4. #4
    Membre averti
    Inscrit en
    Février 2009
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 48
    Par défaut
    Bonjour,

    Merci pour ces conseils. Du coup je vais découper ma macro en plusieurs modules pour bien distinguer les étapes et les tests qui ne sont pas toujours utiles selon les fichiers. Mais aussi pour facilité le debbogage.

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 09/01/2015, 09h35
  2. [XL-MAC 2011] Erreur lors de l'execution d'une macro simple
    Par Mat262 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 07/09/2014, 17h02
  3. [XL-2007] Erreur 1004 lors de l'execution d'une Macro
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/10/2010, 13h05
  4. probleme de lenteur lors de l'execution d'une macro sous excel
    Par smartbis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/05/2007, 08h49
  5. [ADO] Probleme lors de l'execution d'une requete...
    Par NoisetteProd dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/06/2004, 12h43

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