Select case msgbox

Eljojo_e

XLDnaute Nouveau
Bonjour,

Je viens vers vous car je sèche..

Est-il possible de faire un

Code:
select case msgbox("Quitter ?", vbyesno)
case vbyes
docmd.quit
case vbno
exit sub
end select

Avec une temporisation : si l'utilisateur n'a pas cliqué sur non avant 10 secondes, c'est automatiquement oui et ça quitte.

Cordialement,
 

xltools

XLDnaute Junior
Re : Select case msgbox

Bonjour

Le resultat attendu est tout à fait réalisable, mais avec un UserForm au lieu d'un MsgBox.

Vous devez créer un UserForm avec un bouton "Oui" et un bouton "Non", ainsi qu'un Label affichant le décompte de temps.
Et inscrire le code suivant dans votre UserForm :

Code:
Private Sub CommandButton1_Click()
      docmd.quit
End Sub

Private Sub CommandButton2_Click()
    Unload Me
End Sub

Private Sub UserForm_Activate()
    Dim i As Integer
    For i = 1 To 10
        Label2.Caption = "Il vous reste " & 10 - i & " secondes"
        Application.Wait (Now + TimeValue("0:00:01"))
        docmd.quit
    Next
End Sub

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


Hanane.
 

fhoest

XLDnaute Accro
Re : Select case msgbox

Bonjour,
Pour un message temporisé:
Code:
Sub test()
Dim msg As Object
Set msg = CreateObject("WScript.Shell")
Select Case msg.Popup("Quitter ?", 10, "10 secondes", vbYesNo)
Case vbYes
MsgBox "je quitte" 'docmd.Quit
Case vbNo
Exit sub
Case Else:
Set msg = Nothing
MsgBox "je quitte" 'docmd.Quit
End Select
End Sub
A+
 
Dernière édition:

MichD

XLDnaute Impliqué
Re : Select case msgbox

Bonjour,

Essaie le code suivant :


'----------------------------------------------------
Sub Boîte_De_Message()

Const Titre As String = "Fermeture Automatique de la boîte de message"
Dim Wsh As Object, Réponse As Integer, Délai As Integer

Délai = 5 'Délai en seconde avant la fermeture de la fenêtre
Set Wsh = CreateObject("WScript.Shell")
Réponse = Wsh.popup("Voulez-vous quitter l'application?" & vbCrLf & _
"Vous avez 5 secondes pour répondre.", Délai, Titre, 4 + 64 + 0)
If Not Réponse = 6 Then
Wsh.popup "Poursuite de l'opération !", 1, Title, 0 + 64
'Code à exécuter...

Else
Wsh.popup "Opération abandonnée !", 1, Title, 0 + 64
End If
Set Wsh = Nothing

End Sub
'----------------------------------------------------
 

Discussions similaires

Statistiques des forums

Discussions
312 273
Messages
2 086 699
Membres
103 372
dernier inscrit
BibiCh