VB.net ou Excel ? - vitesse de calcul

cs_etniqs Messages postés 201 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 10 mai 2016 - 12 déc. 2009 à 12:29
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 12 déc. 2009 à 14:33
Salut à tous,

Quelqu'un a-t-il déjà évalué la différence de vitesse si on fait, par exemple, une somme de nombreuses lignes (je parle de + 400.000) avec excel ? :

Concrétement, il vaut mieux écrire :
- somme(X1:X30) : fonction excel
- X1+X2+...+X30
- ma_somme(X1:X30) : vers VBA et fonction ma_somme perso
- ma_somme(X1:X30) : vers une appli externe (VB.net) et une connexion interop.excel + un thread dédié (background),
- ...

et puis :
- (X1+X2) + (X3+X4) + ... est-il plus/moins rapide que X1+X2+...+X30 directement ?
- si(machin_vrai;truc1;truc2) plus/moins rapide que (machin=vrai)*truc1 + (machin=faux)*truc2

En vous remerciant.

coïto ergo sum

2 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 déc. 2009 à 13:53
Bonjour,

je ne vois en tout état de caudse pas du tout comment le traiutement pourrait être accéléré par le biais d'une "instanciation", depuis VB.Net d'un classeur Excel ! (je dirais même que le contraire risque de se produire : ralentissement ajpouté).
Les fonctions Excel (forumules) sont par ailleurs déjà optimisées et je ne vois pas comment une fonction personnalisée pourrait les surpasser en vitesse.
Le reste : le choix entre VBA (une fonction personnalisée ou autre) et une formule Excel, peut dépendre surtout du but à atteindre (et ne détermine pas réellement la vitesse de calcul). Je te rappelle à ce propos que les calculs faits par Excel le sont (faits) sur un fil distinct de VBA et du reste (ce fil distinct connaît tous les paramètres nécessaires au calcul et la fonction ou la formule traitée retourne une valeur. Je ne vois vraiment pas comment tu pourrais surpasser la vitesse de ce processus).


____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 déc. 2009 à 14:33
Et si tu nous parlais de la raison fondamentale de ta question ? (on aurait peut-être une solution Excel/VBA à te proposer... sait-on jamais...)
Tu as de longs calculs sur une feuille Excel ? Et ils se font trop lentement à ton goût ?
Si c'est cela, parle nous-en (mais sous le thème VBA, alors, et pas VB.Net).


____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
0
Rejoignez-nous