acceleration macro possible?

K

Kladorrs

Guest
Bonjour à tous,

une petite question, je sais pas si c'est possible:
Est-t-il possible d'accelerer l'execution d'une macro en cachant le travail qu'elle fait?

Dans le cas ou ca n'accelere pas, est ce que l'on peu le cacher qd meme?

Merci à tous et a+
 
Y

Yeahou

Guest
Bonjour Kladorrs, le forum

Il y a plusieurs façons simples d'accélérer un code

1-Désactiver l'affichage écran
Application.ScreenUpdating = False
en début de code, désactivera l'affichage écran pour la durée de la procédure

2-Désactiver le calcul automatique
Application.Calculation = xlManual
en début de code, désactivera de façon permanente le calcul automatique
donc ne pas oublier en fin de procédure de le rétablir par
Application.Calculation = xlAutomatic

3-Enlever les sélections inutiles (la sélection étant une opération trés lente)
plutôt que
Workbooks("monclasseur.xls").Activate
Sheets(1).Select
Range("A1").Select
Selection.Value = 1
il vaut mieux faire
Workbooks("monclasseur.xls").Sheets(1).Range("A1").Value = 1
qui donnera le même résultat sans sélection

4-Ne pas utiliser la méthode évaluate
[A1].Value=1
est entre 60 à 50% moins rapide que
Range("A1").Value=1
sur de nombreuses opérations de cellules, cela peut faire une différence notable.

Ces quelques principes (il y en a d'autres mais plus ardus) devraient déja te faire gagner beaucoup de temps.

Cordialement, A+
 

Discussions similaires

Réponses
26
Affichages
365

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa