Performances : version d'Excel la + rapide?

Bonjour,

Je cherche la version d'excel la plus rapide pour ce besoin :

  • faire tourner le + rapidement possible un fichier .xlsm de 50 MO
  • le fichier a été réalisé sous Excel 2007 jusqu'à présent
  • le fichier contient beaucoup de formules (des centaines de milliers), donc essentiellement du calcul, des algos (pas de formule matricielle)
  • le fichier contient des macros
  • aucun feuillet ne dépasse les 10.000 lignes
  • le nombre de feuillets est d'environ 110
  • éventuellement des graphiques si les performances le permettent

Mon PC :

  • Intel Core i5 - 4440 CPU @ 3.10 GHz
  • RAM : 8GO
  • OS : windows 10 64 bits

Voilà, je crois que j'ai donné les infos principales.

J'ai cherché sur le net et j'ai trouvé un peu tout et n'importe quoi, mais rien qui ne me donne une réponse fiable.

Par exemple :

A. Dans cette étude (http://exceltrader.net/excel-benchmark/), il semble que 2003 soit bien + rapide : 2003 >>> 2010 > 2007

B. Ici (http://www.decisionmodels.com/versioncompare.htm) ils semblent dire que Excel 2007 est + rapide que 2003 : 2007 > 2003

Donc précisément voilà mes questions :

1. Pour du calcul, et compte tenu de ma configuration, quelle est la version Excel la + rapide?

2. Excel 2003 permet-il de faire tourner un fichier dont les caractéristiques sont celles ci-dessus?

3. Quelqu'un a-t-il testé Excel 2016 et pourrait donner son avis sur les performances?

Merci

Nicopat

bonjour

attention aux benchmarks dont les résultats sont valables pour le fichier de test mais pas vraiment transposables à TON fichier

as-tu fait le nécessaire pour alléger les calculs ?

  • pas de MFC
  • peu de mise en forme (pour ne pas dire "aucune mise en forme"
  • tables simples en colonnes
  • pas de formules complexes
  • TCD
  • PowerPivot
  • les recalculs limités à certaines feuilles

https://msdn.microsoft.com/fr-fr/library/office/ff700515%28v=office.14%29.aspx

https://msdn.microsoft.com/fr-fr/library/office/ff726673%28v=office.14%29.aspx

est-ce que grapiller 20 ou même 50 % du temps va beaucoup t'aider ?

et si vraiment c'est trop long, il faudra envisager de passer à d'autres méthodes (programmer les calculs

Excel n'est pas un logiciel conçu pour les gros calculs

à quoi te sert ton fichier ?

joins une feuille ou 2, avec des données et avec des formule (quelques lignes de chaque, pour se rendre compte

Bonjour,

il y a énormément de paramètres qui entrent en ligne de compte mais j'ai remarqué un simple truc:

le même code lancé 5 x de suite ne donne pas le même temps

les formats condi et les matricielles ralentissent....etc etc...

[mode plaisanterie on]

Ce qui me fait sourire, si je puis dire, c'est cette course à la vitesse (peut être parce que je suis en pré-pension )

Entre un code qui prends 3 secondes et l'autre 1,5 secondes ??? on n'a même pas le temps de boire un café

[mode plaisanterie off]

Ceci dit, j'essaye aussi d'aller au plus vite sur certains code par les dico ou les tableaux mémoire tellement c'est fabuleux la différence entre un travail sur la feuille et le même en tableau

Perso, je ferai des tests avec ce vieux pc sur 1.000.000 de chiffres aléatoires et sans doublons et la même chose avec un Dell dernière génération en janvier si le père Noel ne se trompe pas d'adresse

Bonjour JMD,

Merci pour ta réponse,

jmd a écrit :

as-tu fait le nécessaire pour alléger les calculs ?

J'ai déjà fait pas mal de choses.

J'ai encore prévu d'optimiser par étapes :

Voilà mon plan.

jmd a écrit :

as-tu fait le nécessaire pour alléger les calculs ?

- pas de MFC

j'en ai très peu

jmd a écrit :

as-tu fait le nécessaire pour alléger les calculs ?

- peu de mise en forme (pour ne pas dire "aucune mise en forme"

je vais voir si je peux encore en supprimer.

Mais tu crois que le simple fait d'avoir des colonnes en fonds jaune par exemple (pas de MFC), ça peut jouer?

jmd a écrit :

as-tu fait le nécessaire pour alléger les calculs ?

- tables simples en colonnes

oui

jmd a écrit :

as-tu fait le nécessaire pour alléger les calculs ?

- pas de formules complexes

euh ben si, j'en ai plein des formules, et il y en a quelques unes sur lesquelles j'ai passé des heures...

jmd a écrit :

as-tu fait le nécessaire pour alléger les calculs ?

- TCD

je n'en utilise pas

J'ai plutôt l'impression que c'est lent à se mettre à jour un tableau croisé dynamique, non?

jmd a écrit :

as-tu fait le nécessaire pour alléger les calculs ?

- PowerPivot

Connais pas. J'utilise Excel2007 et j'ai l'impression que ça n'existe que sous Excel2010, non? En quoi cela peut-il booster les performances de calcul?

jmd a écrit :

as-tu fait le nécessaire pour alléger les calculs ?

- les recalculs limités à certaines feuilles

Peut-être puis-je approfondir cette idée. A voir si je peux remplacer certains Calculate par des recalculs + ciblés.

jmd a écrit :

est-ce que grapiller 20 ou même 50 % du temps va beaucoup t'aider ?

à quoi te sert ton fichier ?

Ah oui, gagner 50% de temps me plaîrait grandement

En gros, mon fichier fait du datamining en temps réel à partir de données produites par un logiciel tierce.

Pour faire simple, toutes les 5 secondes, mon fichier compare 1 trentaine de données avec un ensemble de plusieurs dizaines de milliers de données.

Et mon fichier doit restituer un résultat en quelques secondes (avant la salve suivante de données).

Je ne peux pas le partager car je travaille dessus sans en être propriétaire.


Bonjour Patrick

patrick1957 a écrit :

le même code lancé 5 x de suite ne donne pas le même temps

les formats condi et les matricielles ralentissent....etc etc...

Tu veux dire qu'en répétant une macro par exemple, son temps de traitement ralentit au fur et à mesure?

Sachant que j'ai très très peu de formats conditionnels et je n'ai pas de matricielle?

patrick1957 a écrit :

Ceci dit, j'essaye aussi d'aller au plus vite sur certains code par les dico ou les tableaux mémoire tellement c'est fabuleux la différence entre un travail sur la feuille et le même en tableau

Tu peux préciser stp? Je n'ai pas compris.

nicopat a écrit :

Je ne peux pas le partager car je travaille dessus sans en être propriétaire.

Tu peux aussi faire une petite copie anonymisée du (des) fichier(s) et montrer ce que tu fais dessus

Tu as peut être (et d'autres le diront mieux que moi) des données parasites ou des codes (si tu as du vba) trop lents de part leur écriture ?

P.

nicopat a écrit :

1. Pour du calcul, et compte tenu de ma configuration, quelle est la version Excel la + rapide?

2. Excel 2003 permet-il de faire tourner un fichier dont les caractéristiques sont celles ci-dessus?

3. Quelqu'un a-t-il testé Excel 2016 et pourrait donner son avis sur les performances?

N'hésitez-pas à me donner votre avis sur ces points.

Merci!


patrick1957 a écrit :

Tu peux aussi faire une petite copie anonymisée du (des) fichier(s) et montrer ce que tu fais dessus

Impossible : rien ne m'appartient (même pas les formules) et si je supprime les formules, il n'y a plus rien à voir + le fichier contient + de 100 feuillets qu'il faudrait anonymiser...

patrick1957 a écrit :

Tu as peut être (et d'autres le diront mieux que moi) des données parasites ou des codes (si tu as du vba) trop lents de part leur écriture ?

C'est pour ça que j'envisage d'investir dans FastExcel V3, mais je n'ai jamais utilisé. Si certains ont un avis sur cet utilitaire, n'hésitez pas...

nicopat a écrit :

Impossible : rien ne m'appartient (même pas les formules) et si je supprime les formules, il n'y a plus rien à voir + le fichier contient + de 100 feuillets qu'il faudrait anonymiser...

C'est pour ça que j'envisage d'investir dans FastExcel V3, mais je n'ai jamais utilisé. Si certains ont un avis sur cet utilitaire, n'hésitez pas...

lol....

les formules ont un copyright ? un peu fort comme réponse

Bonjour à tous,

As-tu des fonction volatiles ? notamment des fonctions volatiles imbriquées dans d'autres fonctions qui ne sont pas volatiles, et qui de ce fait le deviennent.

Une fonction volatile est recalculée à chaque action effectuée dans excel.

Dans ce cas, il faut en réduire les effets.

klin89

Klin89 a écrit :

Bonjour à tous,

As-tu des fonction volatiles ? notamment des fonctions volatiles imbriquées dans d'autres fonctions qui ne sont pas volatiles, et qui de ce fait le deviennent.

Une fonction volatile est recalculée à chaque action effectuée dans excel.

Dans ce cas, il faut en réduire les effets.

klin89

Bonjour Klin89,

Avant de lire ton post, je ne savais pas ce qu'était une fonction volatile, donc je suppose que je n'en ai pas

J'ai beacoup de formules type recherchev, des algos =si(...) etc... Et beaucoup de cellules dépendantes les unes des autres.

Donc évidemment, dès qu'on change certaines valeurs dans certaines cellules, l'effet domino est énorme. C'est même le principe du fichier.

Du coup, je travaille en recalcul manuel (toutes les 5 secondes environ).


Klin89 a écrit :

As-tu des fonction volatiles ? notamment des fonctions volatiles imbriquées dans d'autres fonctions qui ne sont pas volatiles, et qui de ce fait le deviennent.

Une fonction volatile est recalculée à chaque action effectuée dans excel.

ah comme alea() peut-être?

Je ne pense pas avoir ce genre de fonctions.

re à vous

supprime toutes les mises en forme et TOUT ce qui est facultatif pour tes calculs

les macros servent à quoi ?

le logiciel sert à quoi ?

pourquoi "comparer" quelques données à des milliers toutes les 5 secondes ?

ne peut-on pas préparer les milliers en début de journée pour toutes les comparaisons à venir ?

bourse ? météo ?

OK, je vais essayer de supprimer le superflu.

jmd a écrit :

le logiciel sert à quoi ?

pourquoi "comparer" quelques données à des milliers toutes les 5 secondes ?

C'est un outil d'aide à la décision pour une coopérative qui vend certains produits via une marketplace avec des offres d'achats, des offres de ventes et des cours qui tombent en temps réel.

jmd a écrit :

ne peut-on pas préparer les milliers en début de journée pour toutes les comparaisons à venir ?

C'est une bonne idée pour une V2, Merci.

Rechercher des sujets similaires à "performances version rapide"