|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : août 2011 Messages : 6 ![]() |
Bonjour
Je suis débutant en macro et j'ai un soucis de vitesse avec une macro qui mets une trentaine de seconde à s'exécuter. En effet je dois faire la somme dans une feuille Excel de 65000 lignes, en fonction de 2 paramètres et il doit me ressortir la durée en heures. Cette macro fonctionne bien mais mets un temps fort long pour m'afficher les résultats dans mon tableau. Environ 100 lignes pour 15 colonnes. Est-il possible d'accélerer la vitesse de cette macro? Merci pour vos réponses Voici le code: Code :
|
||
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 306 ![]() |
Bonjour,
D'abord en début de procédure tu peux placer ce code Code :
Code :
En plus c'est parfaitement inutile de faire une sélection sur une cellule. Pourquoi ce Copy/Paste Special, y a-t-il une raison particulière ?
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
||||
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Inscription : novembre 2006 Messages : 1 464 ![]() |
personelement, je ne comprend pas une boucle qui dit
Code :
|
||
|
|
10
|
|
|
#4 | |
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 306 ![]() |
Bonjour,
Citation:
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
|
|
|
00
|
|
|
#5 | ||||
|
Invité de passage
![]() Inscription : août 2011 Messages : 6 ![]() |
Citation:
comme je débute en macro, je ne comprends pas tout. Citation:
|
||||
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 306 ![]() |
Bonjour,
As-tu déjà essayé ce que je t'ai proposé. Vois-tu une amélioration ?
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 6 ![]() |
Oui j'ai essayé et je ne vois pas franchement de gain de temps.
Toujours environ 40s à s'éxecuter sur Excel 2003 |
|
|
00
|
|
|
#8 |
![]() ![]() |
Je ne comprends pas pourquoi écrire une formule dans excel si ensuite tu écrase cela par sa valeur ?
pour quoi ne pas effectuer directement le calcul en VBA et écrire dans le tableau le résultat du calcul ..?
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
10
|
|
|
#9 | |
|
Invité de passage
![]() Inscription : août 2011 Messages : 6 ![]() |
Citation:
|
|
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Bonsoir,
Une piste peut être ? Pas testé du tout : Code :
|
||
|
|
00
|
|
|
#11 | ||
|
Invité de passage
![]() Inscription : août 2011 Messages : 6 ![]() |
J'ai bien avancé sur l'amélioration de ma macro grâce à votre aide
Il me reste juste un dernier problème que je n'arrive pas à résoudre. Dans ma formule il me rajoute des ' ' qui empêche le calcul Code :
=SOMMEPROD((('Poste de travail'!'E357'): ('Poste de travail'!'E1126')=$B6)*(('Poste de travail'!'J357'): ('Poste de travail'!'J1126')=C$5);(('Poste de travail'!'H357'): ('Poste de travail'!'H1126'))) Il m'écrit le paramètre E357 entre des guillemets et je ne comprends pas d’où cela peut venir. Merci pour votre aide |
||
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 6 ![]() |
J'ai trouvé, il fallait juste que je rentre dans les formules les lignes et colonnes en R357C5 au lieu de E357.
Du coup ça marche ![]() Et ça tourne en 3s |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com