OVH Cloud OVH Cloud

Boucle For to next interuption et reprise

2 réponses
Avatar
JoJo
Bonjour,

Dans ma boucle For to next, je désire interrompre le comptage dans ma boucle
et la reprendre avec un autre bouton pour poursuivre l'action.


For x= 0 To NombrEnreg

If Pause=False then ..... 'bouton de pause booléen

Next


Merci Jo (qui apprend)

2 réponses

Avatar
François Picalausa
"JoJo" a écrit dans le message de
news:3fc83f5e$0$28635$
Dans ma boucle For to next, je désire interrompre le comptage dans ma
boucle et la reprendre avec un autre bouton pour poursuivre l'action.



Bonjour/soir,

Tu pourrais avoir une boucle de type do loop avec une variable qui retient
la position.

Une version simplifiée/très incomplète :
'Sur une feuille Form1
' contenant un commandbutton, cmdPause

Private blnPause As Boolean

Sub MaBoucle()
Static lngValeurCourrante As Long

If lngValeurCourrante = NombreEnreg + 1 Then lngValeurCourrante = 0

Do While lngValeurCourrante <= NombreEnreg and Not blnPause
'Traitement ici
'Incrémentation
lngValeurCourrante = lngValeurCourrante + 1
'Donner une chance à l'utilisateur de pouvoir cliquer sur Pause
DoEvents
Loop
End Sub

Sub cmdPause_Click()
blnPause = Not blnPause
MaBoucle
End Sub

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com
Avatar
JoJo
Ok, vu et compris, merci pour le coup de pouce
Cordialement, Jo.

"François Picalausa" a écrit dans le message de
news:
"JoJo" a écrit dans le message de
news:3fc83f5e$0$28635$
> Dans ma boucle For to next, je désire interrompre le comptage dans ma
> boucle et la reprendre avec un autre bouton pour poursuivre l'action.

Bonjour/soir,

Tu pourrais avoir une boucle de type do loop avec une variable qui retient
la position.

Une version simplifiée/très incomplète :
'Sur une feuille Form1
' contenant un commandbutton, cmdPause

Private blnPause As Boolean

Sub MaBoucle()
Static lngValeurCourrante As Long

If lngValeurCourrante = NombreEnreg + 1 Then lngValeurCourrante = 0

Do While lngValeurCourrante <= NombreEnreg and Not blnPause
'Traitement ici
'Incrémentation
lngValeurCourrante = lngValeurCourrante + 1
'Donner une chance à l'utilisateur de pouvoir cliquer sur Pause
DoEvents
Loop
End Sub

Sub cmdPause_Click()
blnPause = Not blnPause
MaBoucle
End Sub

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com