Comment accélérer le temps de traitement sur Excel

annyong Messages postés 38 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 février 2015 - 9 juil. 2007 à 18:56
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 - 10 juil. 2007 à 16:09
Bonjour,

J'ai un classeur Excel ou je fais des recherches avec des find qui prennent beaucoup de temps.
du genre, j'ai une colonne de 40000 lignes et je fais une recherche pour chaque cellule sur des colonnes pouvant contenir autant de lignes (40000).
bref, c'est très long, et je voudrais trouver un moyen d'optimiser tout ça.

Avez vous une idée comment faire ??
on m'a parler de Jxcell, qui permet en passant par java d'aller nettement plus vite. avez vous quelques pistes à ce sujet, car je suis pas très familier avec java pour le moment.

Merci d'avance!!! :-)

11 réponses

Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
10 juil. 2007 à 10:34
Au début du code : ScreenUpdating = false
A la fin du code : ScreenUpdating = true

Judicieux non ?

<hr width="100%" size="2" />Julien.
1
annyong Messages postés 38 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 février 2015
9 juil. 2007 à 19:23
Cette "Jxlapi" me semble adaptée à mes besoins.
Est il possible de taper du code java dans la procédure VBA ?
avez vous quelques pistes pour que je sache un peu ou chercher SVP ??
0
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
9 juil. 2007 à 20:45
Salut,
Excel peut être très rapide, (plus que java d'après moi) si bien utilisé. D'ailleurs son concurrent principal de chez Open Office n'arrive qu'a des temps environant 133% ceux d'Excel.
As-tu bien désactiver le rafraichissement de l'écran pendant le travail (ScreenUpdating = False) ?
Tu ne pourrais pas plutot optimiser ta manière de rechercher ? Effectuer un classement, ou bien faire une fonction de recherche toi même qui soit plus simple...

<hr size="2" width="100%" />Julien.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
9 juil. 2007 à 21:40
Il est clair qu'on ne regarde pas du coté Java quand on cherche des performances.

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
9 juil. 2007 à 21:42
Tu dis tout haut ce que je n'osais pas dire si franchement

<hr size="2" width="100%" />Julien.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
9 juil. 2007 à 23:06
Sans voir ton code, c'est difficile de dire comment tu peux améliorer celui-ci...

ScreenUpdating est le premier choix
Mais peut-être que tu utilises trop de Select ?
Peut-être qu'il y a des boucles qui ne sont pas vraiment nécessaires ?
Peut-être y a-t-il trop de formules ? et qu'elles pourraient être créées par code puis transférées en valeur ?
................

MPi
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
9 juil. 2007 à 23:31
Bonsoir, Brunews...
"Il est clair qu'on ne regarde pas du coté Java quand on cherche des performances."
Tu provoques DARK ?.

Je me planque, alors...
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
10 juil. 2007 à 08:15
Salut,

en effet, j'ai pu le voir par moi meme. J'avais un fichier Excel de 10 000 lignes et un traitement simple a faire.

En modifiant mon code, je suis passé de 30s a 3s. Cela venait principalement du ScreenUpdating.
0
annyong Messages postés 38 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 février 2015
10 juil. 2007 à 10:32
Bonjour,

merci pour vos réponses.
j'ai fais en sorte de supprimer tous les select et les activate.
ce qui prend beaucoup de temps, c'est les find. j'en ai pas mal.
quant au screenupdating, j'ai essayé, ça n'a pas fait gagner beaucoup de temps.

avez vu des conseils pour utiliser les screenupdating judicieusement ??

merci.
0
annyong Messages postés 38 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 25 février 2015
10 juil. 2007 à 15:29
le screenupdating dans mon cas n'a pas amélioré le temps de traitement.
auriez vous d'autres propositions SVP ?
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
10 juil. 2007 à 16:09
De ton coté aussi, tu pourrais nous proposer autre chose que des lignes de francais, mais des lignes de codes.
0
Rejoignez-nous