cs_etniqs
Messages postés201Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention10 mai 2016
-
12 déc. 2009 à 12:29
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 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
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 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.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 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.