Bonjour,
j'ai besoin de calculer une remise sur un prix dans une colonne composé de
65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour faire le
calcul
Voici le code:
DO
i = i+1
cells(i,3) = cells(i,7)* cells(10,10)
LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est plus
gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi???
Vers quoi il faut que je cherche???
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Fauconnier
Bonsoir
Désactive le calcul automatique en début de procédure et remet-le après.
Dim ModeCalcul as xlCalculation modecalcul = application.calculation DO i = i+1 cells(i,3) = cells(i,7)* cells(10,10) LOOP UNTIL i = 65000 application.calculation=modecalcul
Cela accélère-t'il le traitement?
-- Pierre Fauconnier () (Skype: pierre_fauconnier) "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"ludovic Taillez" a écrit dans le message de news: 4512ce96$0$344$
Bonjour, j'ai besoin de calculer une remise sur un prix dans une colonne composé de 65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour faire le calcul Voici le code: DO i = i+1 cells(i,3) = cells(i,7)* cells(10,10) LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est plus gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi??? Vers quoi il faut que je cherche???
Bonsoir
Désactive le calcul automatique en début de procédure et remet-le après.
Dim ModeCalcul as xlCalculation
modecalcul = application.calculation
DO
i = i+1
cells(i,3) = cells(i,7)* cells(10,10)
LOOP UNTIL i = 65000
application.calculation=modecalcul
Cela accélère-t'il le traitement?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam) (Skype:
pierre_fauconnier)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"ludovic Taillez" <ludovic.taillez@spamfree.fr> a écrit dans le message de
news: 4512ce96$0$344$626a54ce@news.free.fr...
Bonjour,
j'ai besoin de calculer une remise sur un prix dans une colonne composé de
65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour faire
le calcul
Voici le code:
DO
i = i+1
cells(i,3) = cells(i,7)* cells(10,10)
LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est
plus gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi???
Vers quoi il faut que je cherche???
Désactive le calcul automatique en début de procédure et remet-le après.
Dim ModeCalcul as xlCalculation modecalcul = application.calculation DO i = i+1 cells(i,3) = cells(i,7)* cells(10,10) LOOP UNTIL i = 65000 application.calculation=modecalcul
Cela accélère-t'il le traitement?
-- Pierre Fauconnier () (Skype: pierre_fauconnier) "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"ludovic Taillez" a écrit dans le message de news: 4512ce96$0$344$
Bonjour, j'ai besoin de calculer une remise sur un prix dans une colonne composé de 65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour faire le calcul Voici le code: DO i = i+1 cells(i,3) = cells(i,7)* cells(10,10) LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est plus gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi??? Vers quoi il faut que je cherche???
ludovic Taillez
J'essaie ça demain et je vous tiens au courant
"Pierre Fauconnier" a écrit dans le message de news:
Bonsoir
Désactive le calcul automatique en début de procédure et remet-le après.
Dim ModeCalcul as xlCalculation modecalcul = application.calculation DO i = i+1 cells(i,3) = cells(i,7)* cells(10,10) LOOP UNTIL i = 65000 application.calculation=modecalcul
Cela accélère-t'il le traitement?
-- Pierre Fauconnier () (Skype: pierre_fauconnier) "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"ludovic Taillez" a écrit dans le message de news: 4512ce96$0$344$
Bonjour, j'ai besoin de calculer une remise sur un prix dans une colonne composé de 65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour faire le calcul Voici le code: DO i = i+1 cells(i,3) = cells(i,7)* cells(10,10) LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est plus gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi??? Vers quoi il faut que je cherche???
J'essaie ça demain et je vous tiens au courant
"Pierre Fauconnier" <pierre.fauconnier@nospam.nospam> a écrit dans le
message de news: OqTkcYa3GHA.4976@TK2MSFTNGP02.phx.gbl...
Bonsoir
Désactive le calcul automatique en début de procédure et remet-le après.
Dim ModeCalcul as xlCalculation
modecalcul = application.calculation
DO
i = i+1
cells(i,3) = cells(i,7)* cells(10,10)
LOOP UNTIL i = 65000
application.calculation=modecalcul
Cela accélère-t'il le traitement?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam) (Skype:
pierre_fauconnier)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"ludovic Taillez" <ludovic.taillez@spamfree.fr> a écrit dans le message de
news: 4512ce96$0$344$626a54ce@news.free.fr...
Bonjour,
j'ai besoin de calculer une remise sur un prix dans une colonne composé
de 65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour
faire le calcul
Voici le code:
DO
i = i+1
cells(i,3) = cells(i,7)* cells(10,10)
LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est
plus gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi???
Vers quoi il faut que je cherche???
"Pierre Fauconnier" a écrit dans le message de news:
Bonsoir
Désactive le calcul automatique en début de procédure et remet-le après.
Dim ModeCalcul as xlCalculation modecalcul = application.calculation DO i = i+1 cells(i,3) = cells(i,7)* cells(10,10) LOOP UNTIL i = 65000 application.calculation=modecalcul
Cela accélère-t'il le traitement?
-- Pierre Fauconnier () (Skype: pierre_fauconnier) "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"ludovic Taillez" a écrit dans le message de news: 4512ce96$0$344$
Bonjour, j'ai besoin de calculer une remise sur un prix dans une colonne composé de 65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour faire le calcul Voici le code: DO i = i+1 cells(i,3) = cells(i,7)* cells(10,10) LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est plus gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi??? Vers quoi il faut que je cherche???
Francois L
Bonjour, j'ai besoin de calculer une remise sur un prix dans une colonne composé de 65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour faire le calcul Voici le code: DO i = i+1 cells(i,3) = cells(i,7)* cells(10,10) LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est plus gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi??? Vers quoi il faut que je cherche???
Bonsoir,
N'y a t'il pas autre chose, d'autres calculs ?
Je fais un test sur 65000 lignes avec mon excel 2000 sur une machine assez poussive (P3 sous Win Me).
Avec une boucle For Next, sans désactiver le calcul automatique, ce n'est pas instantané mais c'est de l'ordre de 30 à 40 secondes.
Ceci étant dit, si j'ai bien compris, ta macro est équivalente à une formule qui serait en A1 = G7 * $J$10
Si j'étire cette formule sur 65000 lignes et que je change la valeur de J10, le calcul de la colonne A est instantané. Alors pourquoi utiliser une macro avec boucle dans le cas présent ?
-- François L
Bonjour,
j'ai besoin de calculer une remise sur un prix dans une colonne composé de
65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour faire le
calcul
Voici le code:
DO
i = i+1
cells(i,3) = cells(i,7)* cells(10,10)
LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est plus
gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi???
Vers quoi il faut que je cherche???
Bonsoir,
N'y a t'il pas autre chose, d'autres calculs ?
Je fais un test sur 65000 lignes avec mon excel 2000 sur une machine
assez poussive (P3 sous Win Me).
Avec une boucle For Next, sans désactiver le calcul automatique, ce
n'est pas instantané mais c'est de l'ordre de 30 à 40 secondes.
Ceci étant dit, si j'ai bien compris, ta macro est équivalente à une
formule qui serait en A1
= G7 * $J$10
Si j'étire cette formule sur 65000 lignes et que je change la valeur de
J10, le calcul de la colonne A est instantané. Alors pourquoi utiliser
une macro avec boucle dans le cas présent ?
Bonjour, j'ai besoin de calculer une remise sur un prix dans une colonne composé de 65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour faire le calcul Voici le code: DO i = i+1 cells(i,3) = cells(i,7)* cells(10,10) LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est plus gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi??? Vers quoi il faut que je cherche???
Bonsoir,
N'y a t'il pas autre chose, d'autres calculs ?
Je fais un test sur 65000 lignes avec mon excel 2000 sur une machine assez poussive (P3 sous Win Me).
Avec une boucle For Next, sans désactiver le calcul automatique, ce n'est pas instantané mais c'est de l'ordre de 30 à 40 secondes.
Ceci étant dit, si j'ai bien compris, ta macro est équivalente à une formule qui serait en A1 = G7 * $J$10
Si j'étire cette formule sur 65000 lignes et que je change la valeur de J10, le calcul de la colonne A est instantané. Alors pourquoi utiliser une macro avec boucle dans le cas présent ?
-- François L
ludovic Taillez
Oui il y a autre chose sinon effectivement j'aurai étirer la formule et cela aurait étè bon, Je fais un test dans ma boucle DO i = i+1 code produit= mid(cells(i,12),1,2) select case code produit case 11 cells(i,3) = cells(i,7)* cells(10,10) case 2A cells(i,3) = cells(i,7)* cells(11,10) ... J'ai 17 remises différentes ce choix est necessaire car je n'applique pas les memes remises suivant le code produit et c'est vrai que je n'ai pas pensé à le faire avec de simple IF THEN ELSE Vous pensez que c'est ça???? Je vais tester ça aussi demain En fait je n'ai jamais utiliser autant de donnée dans une feuille excel et donc je n'ai pas d'expérience sur le temps que cela peut prendre mais c'est vrai que je fais des recherches Verticales sur ces 65000 cellules qui sont elle directement dans les cellules et là cela va relativement vite(qlques Secondes à peine)
"Francois L" a écrit dans le message de news:
Bonjour, j'ai besoin de calculer une remise sur un prix dans une colonne composé de 65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour faire le calcul Voici le code: DO i = i+1 cells(i,3) = cells(i,7)* cells(10,10) LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est plus gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi??? Vers quoi il faut que je cherche???
Bonsoir,
N'y a t'il pas autre chose, d'autres calculs ?
Je fais un test sur 65000 lignes avec mon excel 2000 sur une machine assez poussive (P3 sous Win Me).
Avec une boucle For Next, sans désactiver le calcul automatique, ce n'est pas instantané mais c'est de l'ordre de 30 à 40 secondes.
Ceci étant dit, si j'ai bien compris, ta macro est équivalente à une formule qui serait en A1 = G7 * $J$10
Si j'étire cette formule sur 65000 lignes et que je change la valeur de J10, le calcul de la colonne A est instantané. Alors pourquoi utiliser une macro avec boucle dans le cas présent ?
-- François L
Oui il y a autre chose sinon effectivement j'aurai étirer la formule et cela
aurait étè bon,
Je fais un test dans ma boucle
DO
i = i+1
code produit= mid(cells(i,12),1,2)
select case code produit
case 11
cells(i,3) = cells(i,7)* cells(10,10)
case 2A
cells(i,3) = cells(i,7)* cells(11,10)
...
J'ai 17 remises différentes
ce choix est necessaire car je n'applique pas les memes remises suivant
le code produit
et c'est vrai que je n'ai pas pensé à le faire avec de simple IF THEN ELSE
Vous pensez que c'est ça????
Je vais tester ça aussi demain
En fait je n'ai jamais utiliser autant de donnée dans une feuille excel et
donc je n'ai pas d'expérience sur le temps que cela peut prendre mais c'est
vrai que je fais des recherches Verticales sur ces 65000 cellules qui sont
elle directement dans les cellules et là cela va relativement vite(qlques
Secondes à peine)
"Francois L" <francois@noadress.fr.invalid> a écrit dans le message de news:
ONKat9a3GHA.4764@TK2MSFTNGP02.phx.gbl...
Bonjour,
j'ai besoin de calculer une remise sur un prix dans une colonne composé
de 65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour
faire le calcul
Voici le code:
DO
i = i+1
cells(i,3) = cells(i,7)* cells(10,10)
LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est
plus gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi???
Vers quoi il faut que je cherche???
Bonsoir,
N'y a t'il pas autre chose, d'autres calculs ?
Je fais un test sur 65000 lignes avec mon excel 2000 sur une machine assez
poussive (P3 sous Win Me).
Avec une boucle For Next, sans désactiver le calcul automatique, ce n'est
pas instantané mais c'est de l'ordre de 30 à 40 secondes.
Ceci étant dit, si j'ai bien compris, ta macro est équivalente à une
formule qui serait en A1
= G7 * $J$10
Si j'étire cette formule sur 65000 lignes et que je change la valeur de
J10, le calcul de la colonne A est instantané. Alors pourquoi utiliser une
macro avec boucle dans le cas présent ?
Oui il y a autre chose sinon effectivement j'aurai étirer la formule et cela aurait étè bon, Je fais un test dans ma boucle DO i = i+1 code produit= mid(cells(i,12),1,2) select case code produit case 11 cells(i,3) = cells(i,7)* cells(10,10) case 2A cells(i,3) = cells(i,7)* cells(11,10) ... J'ai 17 remises différentes ce choix est necessaire car je n'applique pas les memes remises suivant le code produit et c'est vrai que je n'ai pas pensé à le faire avec de simple IF THEN ELSE Vous pensez que c'est ça???? Je vais tester ça aussi demain En fait je n'ai jamais utiliser autant de donnée dans une feuille excel et donc je n'ai pas d'expérience sur le temps que cela peut prendre mais c'est vrai que je fais des recherches Verticales sur ces 65000 cellules qui sont elle directement dans les cellules et là cela va relativement vite(qlques Secondes à peine)
"Francois L" a écrit dans le message de news:
Bonjour, j'ai besoin de calculer une remise sur un prix dans une colonne composé de 65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour faire le calcul Voici le code: DO i = i+1 cells(i,3) = cells(i,7)* cells(10,10) LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est plus gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi??? Vers quoi il faut que je cherche???
Bonsoir,
N'y a t'il pas autre chose, d'autres calculs ?
Je fais un test sur 65000 lignes avec mon excel 2000 sur une machine assez poussive (P3 sous Win Me).
Avec une boucle For Next, sans désactiver le calcul automatique, ce n'est pas instantané mais c'est de l'ordre de 30 à 40 secondes.
Ceci étant dit, si j'ai bien compris, ta macro est équivalente à une formule qui serait en A1 = G7 * $J$10
Si j'étire cette formule sur 65000 lignes et que je change la valeur de J10, le calcul de la colonne A est instantané. Alors pourquoi utiliser une macro avec boucle dans le cas présent ?
-- François L
Jacky
Bonsoir,
Presque instantané... Matricielle
Dans la première cellule =G1:G65000*J10
Selection de la colonne et, clique dans la barre des formules Valider par "Majuscule+ctrl+entrée"
Salutations JJ
"ludovic Taillez" a écrit dans le message de news:4512ce96$0$344$
Bonjour, j'ai besoin de calculer une remise sur un prix dans une colonne composé de 65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour faire le
calcul Voici le code: DO i = i+1 cells(i,3) = cells(i,7)* cells(10,10) LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est plus
gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi??? Vers quoi il faut que je cherche???
Bonsoir,
Presque instantané...
Matricielle
Dans la première cellule
=G1:G65000*J10
Selection de la colonne et,
clique dans la barre des formules
Valider par "Majuscule+ctrl+entrée"
Salutations
JJ
"ludovic Taillez" <ludovic.taillez@spamfree.fr> a écrit dans le message de
news:4512ce96$0$344$626a54ce@news.free.fr...
Bonjour,
j'ai besoin de calculer une remise sur un prix dans une colonne composé de
65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour faire
le
calcul
Voici le code:
DO
i = i+1
cells(i,3) = cells(i,7)* cells(10,10)
LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est
plus
gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi???
Vers quoi il faut que je cherche???
Selection de la colonne et, clique dans la barre des formules Valider par "Majuscule+ctrl+entrée"
Salutations JJ
"ludovic Taillez" a écrit dans le message de news:4512ce96$0$344$
Bonjour, j'ai besoin de calculer une remise sur un prix dans une colonne composé de 65000 prix en euro, j'ai fait ça en vba et il me met une plomb pour faire le
calcul Voici le code: DO i = i+1 cells(i,3) = cells(i,7)* cells(10,10) LOOP UNTIL i = 65000
J'avais fait ça avec une boucle FOR next et apparement cette boucle est plus
gourmande que celle ci en terme de temp
Il met plus d'une heure pour faire les calculs, sauriez vous pourquoi??? Vers quoi il faut que je cherche???
Francois L
Oui il y a autre chose sinon effectivement j'aurai étirer la formule et cela aurait étè bon, Je fais un test dans ma boucle DO i = i+1 code produit= mid(cells(i,12),1,2) select case code produit case 11 cells(i,3) = cells(i,7)* cells(10,10) case 2A cells(i,3) = cells(i,7)* cells(11,10) ... J'ai 17 remises différentes ce choix est necessaire car je n'applique pas les memes remises suivant le code produit et c'est vrai que je n'ai pas pensé à le faire avec de simple IF THEN ELSE Vous pensez que c'est ça????
Re,
Je ne sais pas si, dans le cas présent, et sous excel ce serait plus rapide. Je passe la main aux gourous.
-- François L
Oui il y a autre chose sinon effectivement j'aurai étirer la formule et cela
aurait étè bon,
Je fais un test dans ma boucle
DO
i = i+1
code produit= mid(cells(i,12),1,2)
select case code produit
case 11
cells(i,3) = cells(i,7)* cells(10,10)
case 2A
cells(i,3) = cells(i,7)* cells(11,10)
...
J'ai 17 remises différentes
ce choix est necessaire car je n'applique pas les memes remises suivant
le code produit
et c'est vrai que je n'ai pas pensé à le faire avec de simple IF THEN ELSE
Vous pensez que c'est ça????
Re,
Je ne sais pas si, dans le cas présent, et sous excel ce serait plus
rapide. Je passe la main aux gourous.
Oui il y a autre chose sinon effectivement j'aurai étirer la formule et cela aurait étè bon, Je fais un test dans ma boucle DO i = i+1 code produit= mid(cells(i,12),1,2) select case code produit case 11 cells(i,3) = cells(i,7)* cells(10,10) case 2A cells(i,3) = cells(i,7)* cells(11,10) ... J'ai 17 remises différentes ce choix est necessaire car je n'applique pas les memes remises suivant le code produit et c'est vrai que je n'ai pas pensé à le faire avec de simple IF THEN ELSE Vous pensez que c'est ça????
Re,
Je ne sais pas si, dans le cas présent, et sous excel ce serait plus rapide. Je passe la main aux gourous.