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 ;-)