Optimisation Macro pour diminuer le temps de traitement

Bonjour,

Je suis moyen en programmation VBA, et j'ai créé, avec l'aide de certains membres, 2 macro qui fonctionnent, mais serait'il possible d'optimiser la macro "MAJ_Process_Symbolisation_MTECS" (voir optimiser le fichier complet car le re-calcul des indicateurs est très long aussi) ?

En effet, l'extrait ne possède que quelques lignes, mais mon fichier original en contient plus de 4000 et le temps de traitement est très très long.

D'avance merci

44sli-mtecs4.rar (60.81 Ko)

Bonsoir

Une idée comme-ça

Ton programme met 1,5 seconde

Avec Application.ScreenUdapting = False (Application.StatusBar n'a pas besoin du rafraîchissement de l'écran)

+ suppression de quelques Sh02 comme tu es dans un bloc With Sh02 .... End With

je suis arrivé à 0.9 seconde

Voir à repenser au code

Bonne soirée

PS: Pour le code si dans tous les cas, en cas de ligne identique, on mettait à jour toutes les données de la ligne,cela simplifierait le code et ferait gagner du temps

A voir

J'ai mis cette ligne car de temps à autre, en générale la 1ère fois que je lance la macro après l'ouverture du fichier, la barre de progression se bloque, comme si le programme était en suspend (ça correspond à un moment ou "boite" excel apparaissent dans la barre des taches alors qu'il n'y a qu'un fichier ouvert), et après un moment, la macro se termine en s'étant déroulée correctement (la barre de progression restée bloquée disparait puisque je la rend à excel). avec cette ligne, le phénomène disparait.

Sinon, peux tu me transféré ton fichier modifié ?

Merci d'avance

Re

Le voici, le voila

Attention msgbox en fin de macro

92sli-mtecs4-v001.zip (60.06 Ko)

Effectivement, c'est un peu mieux (194s pour mon fichier complet avant (3176 lignes dans "2008-2009-2010" et 1879 dasn "Process Symbolisation MTECS"), et 176s maintenant), mais ça reste relativement long. D'autres idées ?

Sinon, tout compte fait, la commande Application.ScreenUdapting ne change rien dans mon cas : souvent, le programme se "fige" (sablier, plus rien ne bouge, et la barre de progression est bloqué) mais en patientant un peu, la macro s'effectue quand même. Y a t'il une explication ?

Rechercher des sujets similaires à "optimisation macro diminuer temps traitement"