Excel 2019 plus lent que Excel 2013 - Win 10 - Windows & Software
Marsh Posté le 02-01-2021 à 00:31:16
La manière dont excel gere le vba entre 2010 et 2019 a evolué. Il faut aussi faire evoluer ton code.
lis http://www.info-3000.com/vbvba/conseiloptimisation.php
Surtout le Application.Calculation = xlCalculationManual / Automatic puisque tes macros semblent faire des calculs.
Marsh Posté le 02-01-2021 à 14:11:50
Je ne comprends pas ce qui a changé entre 2010 et 2019.
Les améliorations listées sur ta page sont des classiques qui sont déjà implémentées dans mes codes depuis que j'utilise la version 2010.
Marsh Posté le 02-01-2021 à 16:45:52
C'est peut-être traiter des millions de calculs dans une macro le problème en fait
Marsh Posté le 03-01-2021 à 17:09:17
Laska- a écrit : Je ne comprends pas ce qui a changé entre 2010 et 2019. |
faudrait avoir un cas concret, un fichier et les macros en question
(a condition qu'il n'y ai rien de confidentiel dedans)
Marsh Posté le 04-01-2021 à 14:34:02
Je pourrais vous envoyer le fichier (rien de confidentiel) mais il est trop désorganisé pour être présentable
En gros, le fichier fait ceci :
Une fonction "matrice de rotation autour d'un axe" qui crée une matrice en fonction d'un angle et d'un vecteur.
Une fonction multiplication matricielle qui multiplie deux tableaux comme des matrices.
Voilà :
https://i.gyazo.com/f8ae467937ba9e5 [...] b9aba4.png
Peut-on gagner de la vitesse en déclarant des types fixes pour les variables et les arguments ?
Ensuite, on lit quelques valeurs dans des cases, pour appliquer des dizaines ou centaines de milliers de fois la fonction qui aligne les calculs de matrices.
Les résultats sont stockés dans un tableau.
Le tableau est écrit d'une traite dans les cellules (grosse amélioration de performance)
En réalité, en testant sur des volumes de données beaucoup plus gros, le PC avec excel 2019 et plus de puissance est bien plus rapide que le PC plus ancien, mais vraiment pas dans la mesure de sa vraie performance intrinsèque.
Calcul sur le PC fixe avec un ryzen 3700X de 2020 : 78 secondes de calcul matriciel et 10 secondes d'accès aux cases.
Calcul sur le PC portable avec un i7 de 2014 et excel 2013 : 95 secondes de calcul matriciel et 8 secondes pour l'accès aux cases.
Avec un calcul plus petit le PC fixe était effectivement plus lent, mais il l'est probablement sur l'accès aux cases.
Marsh Posté le 01-01-2021 à 17:11:42
Bonjour,
J'ai la dernière version de excel que j'ai achetée sur un site d'OEM (Office 2019 Professional Plus)
J'ai un fichier excel qui aligne des tas de calculs dans une fonction VBA (des millions..)
Sur mon ancien PC, datant de 2014, portable, avec une version antérieure de excel (excel 2013 64 bit), le calcul dure 4 secondes.
Avec mon nouveau PC, machine de guerre, 1800€, win10, qui traite des photos dans ligthroom 4 fois plus vite que l'ancien PC, excel est ... 3 fois plus lent !
Comment expliquer cet écart de performance, et surtout, comment le résoudre ?
Je vais voir s'il n'y a pas une version test de excel 2010 pour voir si cela résout le problème, mais même si ça marche, je trouverais assez dommage de payer pour une version plus ancienne de ce que j'ai déjà acheté !
Merci
Message édité par Laska- le 01-01-2021 à 17:32:07