|
Bas de page | |
---|---|
Auteur | Sujet : Optimisation de la syntaxe d'un code (pour gain en rapidité) |
![]() Publicité | Posté le 21-05-2008 à 15:15:20 ![]() ![]() |
babasss | Regarde du coté de Select Case à la place de :
--------------- Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm |
kiki29 | Salut, à lire http://fordom.free.fr/tuto/OPTIMISATION.htm
Message édité par kiki29 le 21-05-2008 à 15:52:43 |
Silarion | Merci à vous, je vais me plonger dans la lecture du lien, et dans la fonction Select Case pour voir comment elle marche |
dreameddeath | Bonjour,
Message édité par dreameddeath le 22-05-2008 à 00:52:56 |
kiki29 | Pour dreameddeath : Salut, justement ExecuteExec4Macro permet de lire dans un fichier sans l'ouvrir à l'écran ce qui n'est pas le cas de Workbooks.Open..... en plus si tu es en réseau avec un plug-in antivirus qui perd 2 à 3 s par fichier si on l'ouvre à l'écran je t'explique pas la cata de ta solution. Par contre Chr$(Asc("A" )+K) apparait de bon aloi. Message édité par kiki29 le 22-05-2008 à 03:54:15 |
Silarion | Bonjour à tous.
Message édité par Silarion le 22-05-2008 à 14:42:58 |
kiki29 | Salut, dans le cas de cellules contigues on peut utiliser ADO pour faire la même chose, suivant la quantité de cellules à rapatrier il y aura dans ce cas de contiguité un choix à faire entre les 2 méthodes pour le temps d'exécution.
Message édité par kiki29 le 22-05-2008 à 15:13:50 |
tegu | Pas facile d'optimiser quand les données sont aussi éparpillées.
de la boucle
et d'utiliser Right$ au lieu de Right (truc que tu as dû lire dans la page fournie par kiki29)
Reste à savoir si c'est applicable efficacement dans ton cas.
|
dreameddeath | Bonjour à tous,
Message édité par dreameddeath le 23-05-2008 à 00:43:27 |
![]() Publicité | Posté le 23-05-2008 à 00:38:33 ![]() ![]() |
kiki29 | Workbooks.Open de toute façon ouvrira à l'écran le fichier
Message édité par kiki29 le 23-05-2008 à 05:00:07 |
dreameddeath | Je travaille dans un monde on l'ont doit traiter des centaines de millions d'enreg jours et je connais un certain nombre de principes aussi bien logiciels que matériels sur ce qui peut impacter les perfs (effets de cache, cout des fonctions système d'ouverture fermeture, latence réseau, ...).
Message édité par dreameddeath le 24-05-2008 à 13:04:36 |
kiki29 | Salut, cela ne fait que confirmer ce que j'ai déjà dit plus haut.
Message édité par kiki29 le 24-05-2008 à 18:15:58 |
dreameddeath | Donc si j'extrapole, même avec antivirus, il est fort probable que ça soit plus rapide en workbook.open à travers le réseau (enfin, de type Wifi)...
Message édité par dreameddeath le 24-05-2008 à 20:05:37 |
kiki29 | Ton extrapolation est hasardeuse, les chiffres fournis par ton benchmark sont là pour le prouver, d'autant plus que la quantité de cellules à lire est faible.Si le "client" a du WiFi à lui d'essayer Message édité par kiki29 le 24-05-2008 à 20:19:21 |
dreameddeath | Hasardeuse ?
|
kiki29 | Et toi de même , Non ? j'ai bien précisé pour le graphe : "un graphe fait il y a longtemps et qui dans un contexte peut-être particulier reste sans appel ", encore faudrait-il que tu saches lire.Le plug-in AV apporte la preuve que même si la fenêtre n'apparait pas à l'écran que le fichier est "ouvert" qqpart contrairement à ExecuteExcel4Macro.Tes affirmations sont dans le presque,à peu près,et OLE ....
Message édité par kiki29 le 25-05-2008 à 16:42:03 |
dreameddeath | Sinon, pour en arrêter avec le débat qui peut être sans fin sur le Exec/Open, on va repartir sur les autres pistes d'optims...
Message édité par dreameddeath le 25-05-2008 à 18:34:21 |
Silarion | Bonjour Dreameddeath, bonjour kiki29,
|
Silarion | Et bien dans ma situation, et sur le système réseau sur lequel je suis, la solution d'ouvrir/fermer les fichiers (sans les afficher à l'écran) via xls_hidden.Workbooks.open, semble optimale ! L'exécution du code sur mes 62 fichiers tests se fait en 24 secondes
Message édité par Silarion le 27-05-2008 à 14:42:00 |
dreameddeath | Merci de dire merci,
Message édité par dreameddeath le 27-05-2008 à 19:55:22 |
Silarion | Yep je m'arrête là, je vais juste essayer de nettoyer un peu, mais je suis très satisfait du temps d'exécution du code maintenant |
smokit | Bonjour,
|
![]() Publicité | Posté le ![]() ![]() |
Sujets relatifs | |
---|---|
Aide code VBA -calcul Moyenne mobile- | Problème code VBA jauge verticale |
Lecture du code source d'une page web ouverte dans IE | Exécuter du code écrit dans une table Access |
Optimisation Flash pour affichage HTML [Résolu] | Question syntaxe à la con ... |
Vector en C++ - Optimisation de la recherche | critère d optimisation |
HUFFMAN dans quoi coder la correspondance symbole - code ? | optimisation de requéte |
Plus de sujets relatifs à : Optimisation de la syntaxe d'un code (pour gain en rapidité) |