Macro tres lente

zoubitom

XLDnaute Nouveau
Bonjour à tous,

Je travaille sur un fichier Excel (2007) pour me permettre d'analyser des données hygrométriques. Pour chaque grandeur mesurée, j'ai des données mensuelles avec pas de temps de 1mn (soit plus de 40000 lignes).
Le but de cet outil est donc de réduire le nombre de données de base en changeant de pas de temps, pour permettre de visualiser ces données sur un graphique, jour par jour.

Problème :
Etant débutant sur ces notions d’Excel (macro, graph dynamique), j’ai demander de l’aide sur ce forum pour me permettre de réaliser cet outil. Grace aux forumistes, je me suis retrouvé avec 2 fichiers fonctionnant très bien (1 fichier avec la macro pour traiter les données et 1 fichier avec le graphique dynamique).

Par souci de praticité, j’ai décidé de ne faire qu’un seul fichier pour analyser mes données. Mon problème est que lorsque je lance la macro dans ce nouveau classeur, la macro est anormalement longue à s’exécuter : plusieurs minutes au lieu des quelques secondes initiale.

Quelqu’un peut-il m’expliquer pourquoi ? Il y a-t-il une manière d’arranger ça ?

Le classeur en PJ est composé de 5 onglets:
-BDD = Ma base de donnée initiale (pas de temps 1mn) que j'importe dans ce fichier
-BDD15 = Ma nouvelle base de donnée avec pas de temps 15mn
-FeuilTmp15 = Feuille permettant ma construction graphique
-Graph15 = Feuille de visualisation de mes graphiques​

Merci pour vos réponse,
 

Pièces jointes

  • TEST.zip
    47.6 KB · Affichages: 84
  • TEST.zip
    47.6 KB · Affichages: 91
  • TEST.zip
    47.6 KB · Affichages: 88

Gael

XLDnaute Barbatruc
Re : Macro tres lente

Bonjour zoubitom, bonjour à tous,

Pour éviter les récalculs systématiques inutiles, tu mets:

en début de macro:
Code:
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

et en fin de macro:
Code:
Application.ScreenUpdating = true
Application.Calculation = xlCalculationAutomatic

@+

Gael
 

zoubitom

XLDnaute Nouveau
Re : Macro tres lente

Bonjour Gael,

Ca marche super!

Par contre j'ai du mal à comprendre pourquoi (avant cette modif) cela marchait bien quand j'avais mon fichier avec la macro sans le graphique (soit juste avec les feuilles BDD et BDD15), et pouquoi le fait d'avoir ajouter mon graph (feuilles FeuilTmp15 et Graph15) cela marche moins bien?
 

Gael

XLDnaute Barbatruc
Re : Macro tres lente

Re,

Peut-être l'option de calcul dans l'autre classeur était déjà sur manuel. C'est en général le recalcul systématique à chaque modif qui ralentit l'exécution.

De plus, la feuille Tmp15 contient beaucoup de formules de calcul et chaque fois que la macro modifie une donnée, Excel recalcule tout le classeur.

@+

Gael
 

tbft

XLDnaute Accro
Re : Macro tres lente

Bonjour

je suis désolé d'avance si je dis une connerie
comment ta macro traite les données : en les lissant une par une ou en chargeant tout en mémoire?
perso j'ai remarqué a nombreuses reprise que la deuxième été beaucoup rapide
 

zoubitom

XLDnaute Nouveau
Re : Macro tres lente

OK, merci pour ces infos!

Ca fait peu de temps que je suis sur ce forum et je dois dire que depuis le début je suis impressionné par la disponibilité des membres pour venir en aide.

Je tire donc mon coup de chapeau à ce site ainsi qu'a tous ses membres!!!
 

zoubitom

XLDnaute Nouveau
Re : Macro tres lente

Bonjour

je suis désolé d'avance si je dis une connerie
comment ta macro traite les données : en les lissant une par une ou en chargeant tout en mémoire?
perso j'ai remarqué a nombreuses reprise que la deuxième été beaucoup rapide
Bonjour TBFT,

A vrai dire je n'en sais rien... je t'avoue que je suis débutant et que c'est PierreJean (encore merci) qui en est l'auteur. Faute de pouvoir te renseigné, je t'invite donc à lui poser la question sur cette autre discussion ici...
 

Discussions similaires

Statistiques des forums

Discussions
312 339
Messages
2 087 401
Membres
103 537
dernier inscrit
alisafred974