-
VBA trop lent
Bonjour à tous,
Nous avons un petit souci d'exécution de macros transférées depuis excel 2088 vers excel 2011:cry:. Le temps d'exécution devient insupportable (nous voyons tourner la roue des couleurs et il semble que des éditions de tableaux qui fonctionnaient auparavant soient aujourd'hui erronées (Machine actuelle MacBookPro - Snow Léopard).
A noter aussi que l'utilisation des macros provoque un message d'erreur du type "error for object (nomObjet) Non-aligned pointer being freed"
Nous avons refait un essai sur une ancienne version d'excel sur un iBook G4 et ça marche très bien.
Je précise que les routines font appel à un grand nombre de feuilles de calcul et pointent sur de nombreuses cellules.
Si quelqu'un a une idée...::?:
-
Bonjour,
essayez déjà de rajouter au début de votre code :
Code:
Application.ScreenUpdating = False
et à la fin :
Code:
Application.ScreenUpdating = True
Si ça n'aide pas je crains fort qu'il faille aller voir dans le détail où du temps peut être gagné. Dans ce cas il faudrait sans doute poster un exemple du fichier et la totalité du code.
-
Le rafraichissement d'écran est déjà désactivé (Application.ScreenUpdating = False).
Les macros étant anciennes il y a du temps à gagner dans le code, mais nous sommes surpris par la différence de vitesse entre
un iBook G4 de 2005 avec un vieil OS et un macBook pro de 2011 avec snow leopard.
-
Bonjour,
Quelqu'un ma fait part cette semaine d'un problème similaire après être passé d'une version 2003 à 2007 sous Windows.
D'après ce qu'il me décrivait, je lui avais suggéré également de placer Application.ScreenUpdating = False. N'ayant pas vu le code je n'en sais pas plus.
C'est en tout les cas très curieux.
-
Bonjour,
S'il y a des formules dans tes feuilles, tu peux aussi essayer un
Code:
Application.Calculation = xlCalculationManual
en début de code et un
Code:
Application.Calculation = xlCalculationAutomatic
en fin.
-
Merci
Je vais faire quelques tests en modification les calculs automatiques.
Merci à tous.:lol: