interrompre une macro

Le
friskobear
Bonjour a tous,

A l'aide d0une boucle je laisse excel calculer un certain nombre de
fois une date de depart et d'arrivee dans la page1 et copier les
resultats de chaque calcul dqns la page3. Les calculs vont chdercher
regulierement des donnees dans une base de donnees access externe.
Chaqu calcul dure environ 10 a 15 sec.
Ma macro ne s'arrete pas lors des calculs et donc copie des resultats
inchanges.
Existe-t-il une instruction pour interrompre la macro (donc avant la
copie des resultats dans la page3) sans interrompre le deroulement des
calculs de la page1?

merci pour l'aide
patrick
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #5460351
Bonjour.
Poste ton code.
Cordialement.
Daniel

Bonjour a tous,

A l'aide d0une boucle je laisse excel calculer un certain nombre de
fois une date de depart et d'arrivee dans la page1 et copier les
resultats de chaque calcul dqns la page3. Les calculs vont chdercher
regulierement des donnees dans une base de donnees access externe.
Chaqu calcul dure environ 10 a 15 sec.
Ma macro ne s'arrete pas lors des calculs et donc copie des resultats
inchanges.
Existe-t-il une instruction pour interrompre la macro (donc avant la
copie des resultats dans la page3) sans interrompre le deroulement des
calculs de la page1?

merci pour l'aide
patrick


friskobear
Le #5459291
On 18 apr, 21:16, "Daniel.C"
Bonjour.
Poste ton code.
Cordialement.
Daniel




Bonjour a tous,

A l'aide d0une boucle je laisse excel calculer un certain nombre de
fois une date de depart et d'arrivee dans la page1 et copier les
resultats de chaque calcul dqns la page3. Les calculs vont chdercher
regulierement des donnees dans une base de donnees access externe.
Chaqu calcul dure environ 10 a 15 sec.
Ma macro ne s'arrete pas lors des calculs et donc copie des resultats
inchanges.
Existe-t-il une instruction pour interrompre la macro (donc avant la
copie des resultats dans la page3) sans interrompre le deroulement des
calculs de la page1?

merci pour l'aide
patrick- Tekst uit oorspronkelijk bericht niet weergeven -


- Tekst uit oorspronkelijk bericht weergeven -


Bonsoir Daniel,
mon code:
Sub rapport()
'publie rapport mensuel de portes de maree pour un tirant d eau donne

Dim BD, ED, DT As Date
Dim TE As Integer
Let BD = Sheets("rapport").Range("g2").Value 'date de depart
Let ED = Sheets("rapport").Range("g3").Value 'date de fin
Sheets("rapport").Select
Range("a2").Activate
Let TE = 135 'valeur tirant d eau
For DT = BD To ED Step 0.5

Sheets("inout").Select 'selectionne la page de donnee
Range("c10").Select 'copie la valeur du tirant d eau
ActiveCell.FormulaR1C1 = TE
Range("h17:i17").Select ' copie la valeur de la date
ActiveCell.FormulaR1C1 = DT

' inscrire les resultats dans la feuille de rapport
Sheets("rapport").Select
ActiveCell.FormulaR1C1 = DT
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = TE
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = Sheets("inout").Range("d26:e26").Value
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = Sheets("inout").Range("g26:h26").Value
ActiveCell.Offset(1, -3).Activate

Next DT

End Sub

Au moment ou la valeur de la date est copiee en ("h17:i17") excel
commence le calcul qui dure environs 10-15 sec.
Ma macro devrait donc attendre la fin des calculs avant d inscrire les
resultats dans la page "rapport".
J ai deja essaye avec application.wait et avec un timer mais alors
excel s arrete de calculer!
cordialement
patrick


Daniel.C
Le #5522281
Bonjour.
Essaie de mettre :
DoEvents
après :
Range("h17:i17").Select
sinon, coupe ta macro en deux, en insérant :
Application.OnTime Now + TimeValue("00:0:15"), "rapport2"
"rapport2" étant la seconde partie de la macro.
après :
Range("h17:i17").Select
Tu peux peut-être, selon la nature des calculs, envisager une cellule qui
prendrait une valeur (1 par eemple) à la fin des calculs.
Daniel

On 18 apr, 21:16, "Daniel.C"
Bonjour.
Poste ton code.
Cordialement.
Daniel




Bonjour a tous,

A l'aide d0une boucle je laisse excel calculer un certain nombre de
fois une date de depart et d'arrivee dans la page1 et copier les
resultats de chaque calcul dqns la page3. Les calculs vont chdercher
regulierement des donnees dans une base de donnees access externe.
Chaqu calcul dure environ 10 a 15 sec.
Ma macro ne s'arrete pas lors des calculs et donc copie des resultats
inchanges.
Existe-t-il une instruction pour interrompre la macro (donc avant la
copie des resultats dans la page3) sans interrompre le deroulement des
calculs de la page1?

merci pour l'aide
patrick- Tekst uit oorspronkelijk bericht niet weergeven -


- Tekst uit oorspronkelijk bericht weergeven -


Bonsoir Daniel,
mon code:
Sub rapport()
'publie rapport mensuel de portes de maree pour un tirant d eau donne

Dim BD, ED, DT As Date
Dim TE As Integer
Let BD = Sheets("rapport").Range("g2").Value 'date de depart
Let ED = Sheets("rapport").Range("g3").Value 'date de fin
Sheets("rapport").Select
Range("a2").Activate
Let TE = 135 'valeur tirant d eau
For DT = BD To ED Step 0.5

Sheets("inout").Select 'selectionne la page de donnee
Range("c10").Select 'copie la valeur du tirant d eau
ActiveCell.FormulaR1C1 = TE
Range("h17:i17").Select ' copie la valeur de la date
ActiveCell.FormulaR1C1 = DT

' inscrire les resultats dans la feuille de rapport
Sheets("rapport").Select
ActiveCell.FormulaR1C1 = DT
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = TE
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = Sheets("inout").Range("d26:e26").Value
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = Sheets("inout").Range("g26:h26").Value
ActiveCell.Offset(1, -3).Activate

Next DT

End Sub

Au moment ou la valeur de la date est copiee en ("h17:i17") excel
commence le calcul qui dure environs 10-15 sec.
Ma macro devrait donc attendre la fin des calculs avant d inscrire les
resultats dans la page "rapport".
J ai deja essaye avec application.wait et avec un timer mais alors
excel s arrete de calculer!
cordialement
patrick


friskobear
Le #5775681
On 20 apr, 10:39, "Daniel.C"
Bonjour.
Essaie de mettre :
DoEvents
après :
Range("h17:i17").Select
sinon, coupe ta macro en deux, en insérant :
Application.OnTime Now + TimeValue("00:0:15"), "rapport2"
"rapport2" étant la seconde partie de la macro.
après :
Range("h17:i17").Select
Tu peux peut-être, selon la nature des calculs, envisager une cellule qu i
prendrait une valeur  (1 par eemple) à la fin des calculs.
Daniel

On 18 apr, 21:16, "Daniel.C"




Bonjour.
Poste ton code.
Cordialement.
Daniel


Bonjour a tous,

A l'aide d0une boucle je laisse excel calculer un certain nombre de
fois une date de depart et d'arrivee dans la page1 et copier les
resultats de chaque calcul dqns la page3. Les calculs vont chdercher
regulierement des donnees dans une base de donnees access externe.
Chaqu calcul dure environ 10 a 15 sec.
Ma macro ne s'arrete pas lors des calculs et donc copie des resultats
inchanges.
Existe-t-il une instruction pour interrompre la macro (donc avant la
copie des resultats dans la page3) sans interrompre le deroulement des
calculs de la page1?

merci pour l'aide
patrick- Tekst uit oorspronkelijk bericht niet weergeven -


- Tekst uit oorspronkelijk bericht weergeven -


Bonsoir Daniel,
mon code:
Sub rapport()
'publie rapport mensuel de portes de maree pour un tirant d eau donne

Dim BD, ED, DT As Date
Dim TE As Integer
Let BD = Sheets("rapport").Range("g2").Value 'date de depart
Let ED = Sheets("rapport").Range("g3").Value 'date de fin
Sheets("rapport").Select
Range("a2").Activate
Let TE = 135 'valeur tirant d eau
For DT = BD To ED Step 0.5

Sheets("inout").Select 'selectionne la page de donnee
Range("c10").Select 'copie la valeur du tirant d eau
ActiveCell.FormulaR1C1 = TE
Range("h17:i17").Select ' copie la valeur de la date
ActiveCell.FormulaR1C1 = DT

' inscrire les resultats dans la feuille de rapport
Sheets("rapport").Select
ActiveCell.FormulaR1C1 = DT
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = TE
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = Sheets("inout").Range("d26:e26").Value
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = Sheets("inout").Range("g26:h26").Value
ActiveCell.Offset(1, -3).Activate

Next DT

End Sub

Au moment ou la valeur de la date est copiee en ("h17:i17") excel
commence le calcul qui dure environs 10-15 sec.
Ma macro devrait donc attendre la fin des calculs avant d inscrire les
resultats dans la page "rapport".
J ai deja essaye avec application.wait et avec un timer mais alors
excel s arrete de calculer!
cordialement
patrick- Tekst uit oorspronkelijk bericht niet weergeven -

- Tekst uit oorspronkelijk bericht weergeven -


Bonsoir,
Ca a l air de marcher. Quand je supprime la boucle j obtiens en effet
le bon resultat.
Quand je fait fonctionner ma macro avec le boucle, elle ne marque que
le dernier resultat.
j ai donc encore une erreur dans la macro mais je suis deja super
avance. Merci beaucoup.
patrick



Publicité
Poster une réponse
Anonyme