Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[Résolu] Compte a rebour lors de l'ouverture de userform temporaire

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

perpitou

XLDnaute Occasionnel
Bonjour à tous,

Je sais que c'est un sujet qui a été traité plusieurs fois mais je n'arrive pas à trouver des codes qui vont bien avec mon cas.

Lors de l'ouverture de mon fichier j'ai un userform qui apparait 10 secondes. Pour mon cas c'est le userform 15 et après j'enchaine sur un uatre userform pour cela j'ai fait:

Code:
Private Sub Workbook_Open()
UserForm15.Show
UserForm1.Show vbModeless
End Sub

Puis dans mon userform15 j'ai rajouté :

Code:
Private Sub UserForm_Initialize()
Application.OnTime Now + TimeValue("00:00:10"), "FermetureUSF15"

Avec dans un module:
Code:
Sub FermetureUSF15()
Unload UserForm15
End Sub

Comment puis je mettre un compte à rebour dans un label dans mon userform15??
Grâce à cela j'indiquerai à l'utilisateur le temps restant.

Merci d'avance.

Cordialement,
Perpitou
 
Dernière édition:
Re : Compte a rebour lors de l'ouverture de userform temporaire

Re,

vois peut être avec ceci :
Code:
Option Explicit
Const p As Byte = 5
Dim b As Boolean
Private Sub UserForm_Activate()
Dim i As Integer, j As Double
j = Label2.Width
For i = p To 0 Step -1
    If b Then GoTo fin
    Application.Wait Now + TimeValue("00:00:01")
    Label1.Caption = i
    Label2.Width = IIf(i > 0, Label2.Width - (j / (p + 1)), 0)
    Me.Repaint
    DoEvents
Next i
Unload Me
fin:
UserForm2.Show 0
End Sub
Private Sub UserForm_Initialize()
Label1.Caption = p
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then b = True
End Sub
 
Re : Compte a rebour lors de l'ouverture de userform temporaire

Encore une fois merci pierrot,

Donc je te donne mon code adapté merci beaucoup.

Code:
Dim b As Boolean


Private Sub UserForm_Activate()
For i = 10 To -1 Step -1
If b Then GoTo fin
    Application.Wait (Now + TimeValue("00:00:01"))
    DoEvents
    Label85.Caption = "Cette fenêtre se fermera automatiquement dans " & i & " secondes."
  
Next
Unload Me
fin:
UserForm1.Show vbModeless
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then b = True
End Sub

merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
1 K
Réponses
6
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…