"Msgbox" et yes ou no sur excel

C

carlos

Guest
Bonjour,

En cliquant sur un bouton de macro d'excel , Je souhaiterai obtenir le message suivant : " Voulez vous conservez ces valeurs ?".
Si oui alors il execute la macro 1 ; si non la macro 2 .

Merci
 
@

@+Thierry

Guest
Bonsoir Carlos, Hervé, le Forum

Et en plus élaboré, avec trois boutons....

Sub MsgboxYesNoCancel()
Dim Choice As Byte

Choice = MsgBox("Voulez-Vous faire agir la Macro1 ? répondez OUI" & vbCrLf & _
               "Voulez-Vous faire agir la Macro1 ? répondez OUI", vbQuestion + vbYesNoCancel, "Votre Choix")

    If Choice = vbYes Then
       Macro1
    ElseIf Choice = vbNo Then
       Macro2
    Else
       MsgBox "Opération annulée"
    End If
End Sub

Sub Macro1()
MsgBox "Déroulement de la Macro1"
End Sub

Sub Macro2()
MsgBox "Déroulement de la Macro2"
End Sub


Bonne Fin de Dimanche
@+Thierry
 
R

Robert

Guest
Salut Carlos, salut le forum,

une variable de type (byte) a = MsgBox("ton message", tes boutons, "ton titre") va ranvoyer une valeur en fonction du bouton appuyé.

tes boutons pevent être OK (vbOkOnly ou 0), Ok et Annuler (vbOKCancel ou 1), Abandonner, Réessayer et Ignorer (vbAbortRetryIgnore ou 2), Oui, Non et Annuler (vbYesNoCancel ou 3), Oui et Non (vbYesNo ou 4), Réessayer et Annuler (vbRetryCancel ou 5)

Donc en fonction des boutons que tu auras demandé dans ton message, la variable a prendra la valeur suivante : 1 si tu cliques sur Ok, 2 pour Annuler, 3 pour Abandonner, 4 pour Réessayer, 5 pour Ignorer, 6 pour Oui et 7 pour Non.

À partir de la voici un exemple répondant à ta demande :
Public Sub message()

Dim a As Byte
a = MsgBox(" Voulez vous conservez ces valeurs ?", 4, "Ton titre")

If a = 6 Then
'ici tu appelle la macro 1 : Call macro1
MsgBox "la macro1 est lancé"
Else 'non =7 mais j'ai préféré dire "esle : sinon, donc si pas 6"
'ici tu appelle la macro 2 : Call macro2
MsgBox "la macro2 est lancé"
End If
End Sub

À plus,

Robert

ps il y a d'autres paramètres que ne t'ai pas décrit comme le symbole qui peut apparaître dans ton message et le bouton actif par défaut que tu peux modifier (par défaut c'est le premier)
 
@

@+Thierry

Guest
oups erreur de syntax dans le message

Choice = MsgBox("Voulez-Vous faire agir la Macro1 ? répondez OUI" & vbCrLf & _
                "Voulez-Vous faire agir la Macro2 ? répondez NON", vbQuestion + vbYesNoCancel, "Votre Choix")

... m'enfin vous auriez compris !

Et sinon pour Hrvé petite correction :

Sub HerveCorrected()
If MsgBox(" Voulez vous conservez ces valeurs ?", vbInformation + vbYesNo, "Attention") = vbYes Then
   Macro1
Else
   Macro2
End If

End Sub

Bonne fin de journée

@+Thierry
 
R

Robert

Guest
Re à tous,

Quelqu'un peut-il me dire à qui il faut s'adresser dans ce forum pour déposer une plainte pour dopage. Oui Messieurs Hervé et Thierry je vous prie de bien vouloir pisser dans ces éprouvettes et on verra ce qu'on verra...

À plus,

Robert
 
@

@+Thierry

Guest
Hi hi hi

Re à tous !

Dans la série dopage, voici un autre barbatruc au lieu d'utiliser ces MsgBox...

Sub MessageChoiceOptionWithAssistant()
Dim Ass As Boolean, OnUse As Boolean
Dim x As Integer
Ass = Assistant.Visible
OnUse = Assistant.On

Assistant.Visible = True
Assistant.On = True

  With Assistant.NewBalloon
    .Animation = msoAnimationThinking
    .Button = msoButtonSetCancel
    .Icon = msoIconAlertQuery
    .Heading = "Votre Choix de Macro SVP"
    .Text = "Faites votre choix !"
    .Labels(1).Text = "Exécuter la macro number one"
    .Labels(2).Text = "Exécuter la macro number two"
    x = .Show
    End With

       Select Case x
         Case -1: GoTo Fin
         Case 1
           Macro1
         Case 2
           Macro2
       End Select

Assistant.Visible = Ass
Assistant.On = OnUse

Fin:
End Sub


Sub Macro1()
MsgBox "Déroulement de la Macro1"
End Sub

Sub Macro2()
MsgBox "Déroulement de la Macro2"
End Sub


NB j'ai souvenir que Michel BugsBunny avait eu besoin de trafiquer ma macro pour le faire fonctionner sur Excel 97... Je crois que le "On" ne passe pas sous cette version, son but ici est simplement de laisser les paramétrages d'origine de l'assistant en l'état après éxécution de ce code. (Je déteste les applis qui changent les paramètres)

Bonne soirée
@+Thierry
 

Discussions similaires

Réponses
3
Affichages
445

Statistiques des forums

Discussions
312 396
Messages
2 088 041
Membres
103 706
dernier inscrit
lolaLb02