OVH Cloud OVH Cloud

booster exel pour réduire les temps de calculs

11 réponses
Avatar
Elicend_News
Salut

j'ai quasiment fini une appli sous exel avec de tres nombreux calculs
dedans, et suites aux premiers essais, j'estime les temps de calculs à
plusieurs heures (17...)
savez vous s'il y a des moyens pour mettre un turbo quelques part dans exel
et augmenter sa vitesse de calcul ?

je ne peux pas rentrer trop dans les détails de l'applis se serait trop long
mais pour vous aiguiller par rapport à ce quelle fait, en gros, elle scanne,
ligne par ligne et colonne par colonne des valeurs, pour attribuer sur des
onglet différents différent resultats... la matrice de base est de l'ordre
de 30000lignes x 200colonnes

merci d'avance :)

--
Encore merci / Thanks a lot !

@ plus
Elicend
________________________

Attention adresse e-mail :
inconicoAfreePOINTfr
A = @
POINT = .

Be Careful e-mail :
inconicoAfreePOINTfr
A = @
POINT = .
________________________

1 réponse

1 2
Avatar
Daniel.M
Bonjour,


j'ai bien peur que ton exemple de array, bien qu'interessant soit trop juste
pour que je le comprenne parfaitement, et surtout que je m'impregne de son
fonctionnement et des calculs à l'intérieur :(


Je te réfère aux explications d'anonymousA pour le traitement de l'array.
Il a été beaucoup plus clair que moi.


pour l'algo : sur chaque ligne (ref) je scanne une pile (matrice à une
colonne) dans laquelle je somme la deuxieme colonne dont les valeur de la
premiere son identique sous 2 conditions : date correspond, date correspond
pas, ce qui me donne deux valeurs de réapprovisionnement (en cours, et pour
aujourd'hui)... c'est à ce niveau que depuis mon message précédent j'ai
virer le second scan pour avoir la premiere case vide puis que le premier
m'amenait déjà au bout de ma pile...
---> voies tu une méthode pour avoir mes 2 valeurs de réappros sans scanner
? auquel cas, je gagnerai 30000 scans x hauteur de la pile qui varie X 180
jours



Oui. Il suffit que tu tries (virtuellement ou pas, i.e. en mémoire ou via la
commande TRI d'Excel) ton tableau selon l'article ET la date de réappro. Le
nombre de comparaisons va décroître énormément parce qu'en fonction de
l'article, tu vas trouver à côté le même article avec les mêmes dates, puis avec
les dates différentes. Dès que le numéro d'article change, tu sais qu'il n'y en
a plus d'autres dans ton tableau (parce que celui-ci est trié)!



ensuite, je regarde mes commandes, j'en ai sur 3 onglet différents, que je
dois traiter séparément (client différents, et il me faut une tracabilité
des trois), la en fonction de mes valeurs de réappro et de stock, je déduit
par comparaison si je dois commander ou non, quels sont mes reliquat, mon
état de stock, et ce que j'ai vendu sur mes trois clients...
---> je voies peu d'amélioration possible, c'est essentiellement des
opérations basiques de somme et soustraction, et du stockage d'info



Je suis d'accord sur le fait que les opérations simples (addition, soustraction,
etc) sont difficilement optimisables : c'est le nombre de scans (comparaisons)
qui doit faire l'objet de ton analyse.
Ainsi, pourquoi les commandes ne seraient-elles pas triées (virtuellement ou
pas, ce n'est pas la question) en fonction des ARTICLES. Ainsi, tu récupérerais
très rapidement les lignes et tu pourrais faire les opérations consécutives à
tes premiers calculs­.

Il y aurait trois tris, parce que tu as trois onglets (trois clients).


ensuite j'ai une deuxieme grosse partie, qui elle calcule des taux de
service par type de réapprovisionnement, et la c'est une succession de
scan... je suis en train de me pencher dessus en ce moment, mais ca ne
rentre pas encore dans mes 17h !!!!!! :(


Nonobstant de savoir si Excel est le bon outil ou pas (sujet à débat), je vais
te dire ceci: je ne connais pas de traitement à opérations simples (addition,
multi, soustraction, comparaisons) qui justifient un tel temps. C'est pour moi
impossible : la raison en est qu'il m'en coûte à peu près 0.5 seconde pour trier
60000 lignes. Mettons que j'ai besoin de 10 tris, ça ne fait toujours que 5
secondes ET JE PEUX ACCÉDER ENSUITE À MES DONNÉES À UNE VITESSE FOLLE parce que
je peux me servir d'une recherche dichotomique (avec EQUIV).

Ta 'deuxième grosse partie' entre des cette catégorie (essentiellement des
comparaisons/scans). Il n'y a pas de raisons qu'elle ne soit pas très rapide si
tu t'assures d'optimiser tes accès aux données.



j'avoue etre un peu désemparé si t'a d'autre grosse indication je prends :)
(l'appli zippé fait dans les 5 mo)


Je vais te laisser prendre note de mes indications et d'essayer d'implanter les
tris pour optimiser tes scans.
Si tu n'y arrives pas (avec les tris/index), il sera toujours temps pour moi de
regarder ton fichier.

Salutations,

Daniel M.

1 2