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

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:

perpitou

XLDnaute Occasionnel
Re : Compte a rebour lors de l'ouverture de userform temporaire

Voici tout ce que j'ai dans ma userform:

Code:
Private Sub UserForm_Initialize()
Application.OnTime Now + TimeValue("00:00:10"), "FermetureUSF15"
Label85.Caption = "Cette fenêtre se fermera automatiquement dans 10s "
Label84.Caption = "Bonjour et Bienvenue " & Chr(13) & Application.UserName
Label86.Caption = "DOSSIER DU CHANTIER"
Label87.Caption = UserForm1.TextBox1.Value
End Sub
 

perpitou

XLDnaute Occasionnel
Re : Compte a rebour lors de l'ouverture de userform temporaire

Merci pierrot ca fonctionne, j'ai adapté ce qu'il se fait dans le fil et j'obtiens donc:

Dabs mon userform 15:

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

Dans ThisWorkbook:

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

Ne rien mettre dans le module.
Donc cela fonctionne bien merci pierrot.

Mais je rencontre tout de même un problème (ça pouvait pas être aussi simple... )
Comment puis je quitter mon userform (clique sur la croix rouge) sans faire bugger mon fichier et atteindre mon userform1?
 

Pierrot93

XLDnaute Barbatruc
Re : Compte a rebour lors de l'ouverture de userform temporaire

Re,

une adaptation, chez moi la croix de l'usf 1 est inactive lors de l'execution du code....
 

Pièces jointes

  • classeur2.xls
    40.5 KB · Affichages: 138
  • classeur2.xls
    40.5 KB · Affichages: 146
  • classeur2.xls
    40.5 KB · Affichages: 147

Pierrot93

XLDnaute Barbatruc
Re : Compte a rebour lors de l'ouverture de userform temporaire

Re,

modifie le code de l'usf 1 come suit :
Code:
Option Explicit
Const p As Byte = 5
Private Sub UserForm_Activate()
Dim i As Integer, j As Double
j = Label2.Width
For i = p To 0 Step -1
    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
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 End
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…