Msgbox ou InputBox ou Userform ?

Calvus

XLDnaute Barbatruc
Bonjour,

Je ne trouve pas de solution à ma question, à part peut être essayer la création d'un userform.

Manifestement, la Msgbox ne permet que VbYes, ou VbNo.

J'aimerais, dans un code existant, pouvoir ajouter une Msgbox à laquelle on répondrait par 1 ou 2 par exemple (ou "Rouge ou vert"). La réponse irait vers un If :

Donc un truc du genre :
If VbRouge Then Goto...

Else...

Est ce possible ?

Merci
 

David

XLDnaute Occasionnel
Re : Msgbox ou InputBox ou Userform ?

Bonjour,

avec un UserForm, ça marche sans problème, tout dépendra du nombre de choix possible, s'il n'y en a que 2 ça sera trés simple.

TextBox + Bouton de commande
Code:
Private Sub CommandButton1_Click()
If TextBox1 = 1 Then GoTo suite1
If TextBox1 = 2 Then GoTo Suite2
If TextBox1 > 2 Unload UserForm
Suite1:

Suite2:


End Sub
Tu peux jongler avec des else, esleif.

@+
 

Calvus

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

Bonjour David et 13Gibe59, le forum,

Merci de vos réponses.

J'avais déjà fait cela avec ta proposition 13Gibe, mais ce n'est pas convaincant, uniquement dans la sémantique, question de forme quoi.
Car ma question est :"Choisissez vous le chemin 1 ou le chemin 2 ?"
La réponse par oui ou non n'est pas logique, même si le msgbox permet de résoudre le problème.

J'essaierai la proposition de David. Il me faut créer un userform et l'appeler. Je vais voir ça.

Merci et bonne après midi.
 

Si...

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

salut

un autre exemple que :D:D pourra ajouter dans sa sélection

Si tu veux éviter un sacré mal de crâne, tu peux biaiser pour imposer un des 2 cas :
une question en titre, la demande de confirmation pour la première option dans le corps
Code:
Sub X()
  If MsgBox("veux- tu passer par ici ?", 36, "2 choix : par ici ou par là") = 6 Then
    MsgBox "On passe par ici !", 64, "Je t'écoute"
  Else
    MsgBox "je te fais passer  par là !", 64, "Tant pis..."
  End If
End Sub
Cela peut se compliquer avec 3 options.
On passera au choix par un contrôle InputBox, un contrôle Listbox dans un formulaire …
 

Calvus

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

Bonsoir les Zozios !

Si, ta réponse m'intéresse. Mais c'est quoi ces 36 et 64 et 2 ???

Tu comprends, besoin de comprendre pour adapter.

00, ton fichier est cool mais pas drôle !! :mad:

Enfin Si, c'est drôle :):)

Merci

A+:cool:
 

Lone-wolf

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

Bonsoir tout le blonde! ;)


Un autre exemple:

Code:
Sub JeuClic()
If MsgBox("Tu veux jouer avec moi?", vbYesNo, "Joue avec moi !") = vbYes Then
ActiveSheet.Range("B5").Select
Range("B5").Value = "Super! Je suis content !!"
MsgBox "C'est vraiment sympa !"
Else
ActiveSheet.Range("B7").Select
Range("B7").Value = "Tant pis. Je rentre chez moi! "
MsgBox "Qu'elle journée !!"
If MsgBox("Faut pas lui en vouloir !", , "Joue avec moi!") = vbOK Then
ActiveSheet.Range("B7").Select
Range("B7").Value = "Dommage! On aurais pu s'amuser."
End If
End If
End Sub


A+ :cool:
 

Calvus

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

Bonsoir Lone-wolf,

C'est cool aussi.
Mais vos propositions, je sais faire. Pour une fois que je sais faire quelque chose...

Ce qui m'aurait intéressé, c'est d'avoir autre chose que oui ou non.

Bonne soirée :)
 

Lone-wolf

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

Re Calvus,

le fichier joint fera ton bonheur (enfin, je crois; si tu n'est pas trop difficile ;) :D )

De la part de MyDearFriend c/o Michel Perron. Un double-clic sur la feuille et .... ;)





A+ :cool:
 

Pièces jointes

  • Msg Personnalisée.xlsm
    20.3 KB · Affichages: 72

Lone-wolf

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

Re,

Et si tu y tiens vraiment au vert et ou rouge (gros soulon va!! :mad:) ;) :D

voici ma msg personnalisée.



A+ :cool:
 

Pièces jointes

  • Classeur1.xlsm
    21.8 KB · Affichages: 62
  • Classeur1.xlsm
    21.8 KB · Affichages: 52
Dernière édition:

Calvus

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

Re,

Bon... j'y arrive pô !

Le code est celui d'une feuille.

VB:
Début de macro....

UserForm5.Show
If UserForm5.CommandButton1 = True Then
MsgBox ("ouais !")
End If

Suite de la macro....

Le code s'exécute bien, le Userform apparaît, mais ça bloque ensuite. Je peux bien exécuter du code à partir du commandButton, mais je ne sais pas comment revenir dans mon module (feuille)

J'ai lu sur le net qu'un CommandButton ne pouvait prendre qu'une valeur False. Donc aucune chance que ça marche.

J'ai simplement besoin d'un click. Comme une msgbox, mais a a l'air impossible...

Merci. A+
 

Lone-wolf

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

Re Calvus,

Il ne faut pas mettre de parenthèses si tu met seulement MsgBox

MsgBox "T'as bus ou quoi???", vbYesNo, "Calvus"

C'est lorsque tu as la variable " reponse "
reponse = MsgBox("T'as bus ou quoi???", vbYesNo, "Calvus")
Ensuite
If reponse = vbYes Then la suite du code

EDIT: si le bouton est sur la feuille ce n'est pas UserForm qu'il faut mettre.

Feuil1.CommandButton1 ou Me.CommandButton1




A+ :cool:
 
Dernière édition:

Discussions similaires

Réponses
8
Affichages
472

Statistiques des forums

Discussions
312 097
Messages
2 085 261
Membres
102 844
dernier inscrit
atori2