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

MsgBox = Non

Nonno 94

XLDnaute Occasionnel
Bonsoir le Forum,

j'ai à nouveau besoin de vos compétences pour résoudre le problème suivant : j'utilise une MsgBox "Vb Yes/No" avec trois macros dont les codes sont les suivants :

Code:
Sub macro1()
Excel.Application.OnTime Now + TimeValue("00:05:00"), "macro1"

'MsgBox Oui + Non
Select Case MsgBox("Votre message ici", vbYesNo, "Titre de la MsgBox")
    Case vbYes
        Bonjour
    Case vbNo
        Arrêter
End Select

End Sub

Code:
Sub Bonjour()
'
' Bonjour Macro
' Macro enregistrée le 21/11/2012 par Edmond
'

'
    'Sheets("Feuil1").Select
    Range("D2").Select
    ActiveCell.FormulaR1C1 = "Bonjour"
    Range("A1").Select
End Sub

Code:
Sub Arrêter()
'
' Bonsoir Macro
' Macro enregistrée le 21/11/2012 par Edmond
'

'
    Range("A1").Select
       Exit Sub                         'ActiveCell.FormulaR1C1 = "Bonsoir"
    'Range("A1").Select
End Sub

Je souhaiterais que lorsque je clique sur "Non" (Case no), la macro "Arrêter" qui est associée à ce bouton arrête la macro et fasse cesser l'affichage de la MsgBox.
Est-ce possible ? Si oui, pouvez m'indiquer les modifications à effectuer ?

Avec mes remerciements et en vous souhaitant une bonne fin de journée.
Cordialement.

Nonno 94.
 

Modeste geedee

XLDnaute Barbatruc
Re : MsgBox = Non


VB:
Sub macro1()
 Excel.Application.OnTime Now + TimeValue("00:05:00"), "macro1"
 
'MsgBox Oui + Non
 Select Case MsgBox("Votre message ici", vbYesNo, "Titre de la MsgBox")
     Case vbYes
         Bonjour
     Case vbNo
     Excel.Application.OnTime Now + TimeValue("00:05:00"), "macro1", , False
         Arrêter
 End Select
 
End Sub
 

Nonno 94

XLDnaute Occasionnel
Re : MsgBox = Non

Bonsoir et merci pour votre réponse.

Je suis désolé mais le cas "Non" ne fonctionne pas; un message d'erreur s'affiche :
'Erreur d'exécution 1004' , La méthode 'On time de l'Objet '_Application' a échoué s'affiche avec :

Code:
 Excel.Application.OnTime Now + TimeValue("00:00:30"), "macro1", , False    ', False
surligné en jaune.

Cela vous aidera-t-il à résoudre le problème ?

Cordialement.
Nonno 94.
 

Modeste geedee

XLDnaute Barbatruc
Re : MsgBox = Non

Bonsour®
Oupsss... l'heure d'annulation d'oit correspondre à l'heure prévue
Sub macro1()
Dim NextTime As Double
NextTime = Now + TimeValue("00:05:00")
Excel.Application.OnTime NextTime, "macro1"

'MsgBox Oui + Non
Select Case MsgBox("Votre message ici", vbYesNo, "Titre de la MsgBox")
Case vbYes
MsgBox "Bonjour"
Case vbNo
Excel.Application.OnTime NextTime, "macro1", , False
MsgBox "fini"
End Select

End Sub
 

Nonno 94

XLDnaute Occasionnel
Re : MsgBox = Non

Re,

comment faire avec une MsgBox ("Votre message ici", vbYesNoCancel, "Titre de la MsgBox") comportant 3 boutons (Oui, Non et Annuler) si l'on veut que le bouton "Annuler" (Case vbCancel) arrête l'affichage de la MsgBox ("Votre message ici", vbYesNoCancel, "Titre de la MsgBox") par l'intermédiaire du bouton "Non" de la MsgBox ("Votre message ici", vbYesNo, "Titre de la MsgBox") ?

Le fichier joint sera probablement plus explicite !!!!

J'espère ne pas "abuser" de votre patience !!! MERCI encore et bonne soirée.

Npnno 94.
 

Discussions similaires

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