stopper une macro, sortir de boucle for

P

podgers

Guest
Bonjour, voilà mon problème :

J'ai plusieurs boucles "for" imbriqué les unes derrières les autres :

For a = 1 To 1 + Nb_iteration_A * 5
For b = 1 To 1 + Nb_iteration_B * 5
For c = 1 To 1 + Nb_iteration_C * 5
For d = 1 To 1 + Nb_iteration_D * 5 etc...

somme = Cells(4, a + 2).Value * Nb_iteration_A + Cells(4, b + 2).Value * Nb_iteration_B + Cells(4, c + 2).Value * Nb_iteration_C + Cells(4, d + 2).Value * Nb_iteration_D etc....

Cela peut donc faire des calculs long, trés long.... J'aimerais mettre fin à ces calculs à n'importe quel moment (quand j'en ai marre d'attendre) en appuyant sur "ESCAPE" ou "F1" ou sur n'imprte quoi, une touche, un bouton, le bouton RESET de ma tour....

J'ai essayer ça :
1) -> Application.OnKey "{F1}", "Arret"
mais le saut à la procédure "Arret" ne se fait qu'aprés tous les calculs effectués.

Et ça :
2) -> On Error GoTo handleCancel
Application.EnableCancelKey = xlErrorHandler

handleCancel:
If Err = 18 Then
a = b = c = d = e = f = g = 6
MsgBox "erreur 18"
Exit Sub
End If

Mais le problème reste le même, l'erreur n'est prise en compte qu'a la sortie des boucles for, une fois tous les calculs faits !!!


Alors, je sèche, je n'ai plus d'idée ?!
Quelqun à déjà eu ce genre de problème ?
J'attends votre aide !!!

MERCI ;-)
 
E

EricS

Guest
Bonjour

ci-après l'extrait d'un fil (enigme einstein) où le pb est évoqué. Je ne l'ai pas approfondi mais si cela marche, dis-le moi.

A+

Auteur: jmps (195.101.248.---)
Date: 27-10-04 12:02

Amis des tortures cérébrales bonjour,

Pour ta question Arsène Lupin, tu peux ajouter un bouton stop dont le code serait simplement :

End

Ensuite tu t'arranges pour que dans ta boucle il fasse de temps en temps un DoEvents pour prendre en compte les évenements et notamment le clic du bouton. Ca ralentira un peu le code mais au moins plus besoin de contrôle-pause.
 
P

podgers

Guest
Jeannot, merci

Euh merci je savais pas :-(, je vais essayer ça, mais j'ai peur de perdre tous les résultats dèjà calculer.


Erics, merci
En fait j'y ai bien pensé, mais je ne peux pas cliquer sur un bouton pendant l'exécution des boucles for...

Dommage !
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 869
dernier inscrit
radyreth