Exécution d'actions pendant un Timer
Bonjour,
Voici mon code :
Public PARAMETRAGE_OUI As Boolean
Private Sub Workbook_Open()
Dim j As Integer, i As Integer
For i = 1 To ThisWorkbook.Sheets.Count
Sheets(i).Visible = True
Next i
PARAMETRAGE_OUI = False
With UserForm_Parametrage
.Show 0
For i = 10 To 0 Step -1
Application.Wait Now + TimeValue("00:00:01")
If i >= 10 Then
.Timer = "00:" & i
Else
.Timer = "00:0" & i
End If
.Repaint
Next i
End With
Unload UserForm_Parametrage
If PARAMETRAGE_OUI = True Then
Exit Sub
End If
Application.DisplayAlerts = False
For i = ThisWorkbook.Sheets.Count To 4 Step -1
Sheets(i).Delete
Next i
Application.DisplayAlerts = True
Call Refresh
Call MISE_EN_FORME
Call Creation_PDF
Call EnvoiMail
End Sub
Voilà mon problème, j'ai voulu mettre un timer sur mon UserForm pour un peu plus d'ergonomie. Or, il y a un bouton pour arrêter le timer et fermer le UserForm sur le UserForm mais impossible de cliquer dessus, en fait le code du timer m'empêche de faire la moindre action. Je reste donc à attendre la fin du timer et je ne peux pas stopper le compte à rebours.
Je suis preneur d'idées.
Merci d'avance.
Cordialement.
bonjour,
essai de rajouter des "DoEvents" dans tes boucles pour donner du temps au système..
Bonjour,
C'est une excellente idée. J'aurais dû y penser. Du coup cela fonctionne.
J'ai une question qui n'a rien à voir mais si on peut y répondre....
J'ai déclaré une variable en haut de mon code : Public PARAMETRAGE_OUI As Boolean
En fait, le code du bouton du UserForm est le suivant :
Private Sub CommandButton1_Click()
Dim i As Integer
PARAMETRAGE_OUI = True
Unload Me
End Sub
Et dans mon code, vous verrez la ligne suivante :
If PARAMETRAGE_OUI = True Then
Exit Sub
End If
Or, le code ne s'arrête pas lorsque l'on clique sur le bouton, pourtant la variable d'ordre publique devrait devenir "True" en cliquant sur le bouton du UserForm non? La valeur de la variable n'est pas conservée ensuite??
Merci d'avance.
Cordialement.