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 :

Exécution VBA très lente


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Mai 2017
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Mai 2017
    Messages : 29
    Par défaut Exécution VBA très lente
    Bonjour,

    Je développe en VBA ca me fait plus que 2 ans et aujourd'hui je raconte un problématique très bizzare qui m'a jamais arrivé.

    Exécution très lente
    Dans mon programme qui possède une dizaine de fonctions paramétées (avec des variable matricielle ou des vecteurs) et des procédures, dont j'ai développé l'exécution méttait entre 3 et 5 min

    Pourquoi le temps d'exécution est entre (3-5)mins?
    VBA va ouvrir 4 fichiers Excel 1 par 1. et chaque fichier contient environ 20 000 ligne ou plus, VBA va copier les données en collant dans le fichier contenant le programme VBA
    puis il y beaucoup de boucle (simple et conditionnée) qui va traiter jusqu'à l'affichage des résultats statistique pure.

    Le problème est que pour une boucle de (i=1 to 70) déjà il met plus que 10min (je l'ai su en effectuant un point d'arrêt pour savoir pourquoi il tourne à l'infinie mais c'est pas l'infini qui tourne c'est juste c'est très lent et pour une petite boucle il met 1 ans et sachant que c'est pas la boucle principale, ma boucle principale c'est j=1 to 20 000 )

    Je sais pas pourquoi il est devenu très lent comme ça
    Vous pourriez m'aider s'il vous plaît ?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    VBA n'est ni rapide ni lent, il dépend juste de la logique employée …
    Programmer par boucle n'est pas une logique Excel : plus il y a d'itérations dans une boucle et forcément plus c'est lent !
    Et toi utilisant plusieurs boucles, le temps ne peut qu'augmenter !
    Mieux vaut associer une formule à un bloc de cellules donc sans boucle …   Penser Excel Avant VBA !

    ___________________________________________________________________________________________________________
    Je suis Paris, New-York, Mogadicio, Barcelone, London, Manchester, Egypte, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

Discussions similaires

  1. [XL-2010] exécution du code VBA Très Très lent dans un sens et rapide dans l'autre ?
    Par jfab66 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/01/2016, 09h49
  2. [XL-2003] Macro VBA très lente, comment l'optimiser
    Par nuphius dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/06/2015, 21h45
  3. L'exécution est très lente sous Windows 7
    Par iliesss dans le forum Windows 7
    Réponses: 3
    Dernier message: 21/10/2011, 16h01
  4. Code VBA très lent - en phase d'execution
    Par Fairyanna dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/08/2008, 15h35
  5. Temps d'exécution très lent
    Par michelin123 dans le forum MATLAB
    Réponses: 14
    Dernier message: 20/11/2007, 15h17

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