Comment sortir d'un compte à rebours...?

Fermé
jen_peplu Messages postés 33 Date d'inscription samedi 4 décembre 2010 Statut Membre Dernière intervention 25 mars 2012 - 23 avril 2011 à 11:16
Bonjour,

Comment sortir d'un compte à rebours quand je clique sur le bouton annulé ?

J'ai un UserForm avec un label dans lequel se décompte un compte à rebours, un bouton de validation et un bouton d'annulation.
Quand je fais appel à mon UserForm le compte à rebours se met en service.
1 - Si je clique sur le CommandButton1_Click le UserForm se ferme et appelle une autre procédure (ici j'ai mis un msgbox).
2 - Si le décompte se poursuit jusqu'à zéro le UserForm se ferme et appelle une autre procédure (la même que CommandButton1_Click jusque là tout va bien).
3 - Si je clique sur le CommandButton2_Click pour annuler, le UserForm se ferme mais le compte à rebours se poursuit en tache de fond et appelle la procédure 1 à la fin du décompte.

Voici les codes :

Option Explicit
Public rebours

Sub CRebours()
Dim TempsPause, debut, temps, arret

rebours = 10
debut = Timer
TempsPause = rebours
temps = Timer + 1

Do While Timer < debut + TempsPause
If Timer > temps Then
temps = temps + 1
rebours = rebours - 1
UserForm2.Label1.Caption = rebours
End If
DoEvents
If arret = -2 Then Exit Do
If rebours = -1 Then Exit Do
Loop
MsgBox "Opération Réussie"
End Sub

Public Sub rr()
UserForm2.Show
End Sub


Option Explicit

Public Sub UserForm_Activate()
Call CRebours
Unload Me
End Sub

Private Sub CommandButton1_Click()
rebours = -1
Unload UserForm2
End Sub

Private Sub CommandButton2_Click()
Dim arret
Unload UserForm2
arret = -2
MsgBox "Opération Annulée"
Exit Sub
End Sub

J'espère être assez clair, je continue à chercher, mais j'ai besoin d'aide, dois-je reprendre toutes ma procédure ou ne suis-je pas loin de la vérité, merci ?



A voir également: