Msgbox ou InputBox ou Userform ?

  • Initiateur de la discussion Initiateur de la discussion Calvus
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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.

@+
 
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.
 
Re : Msgbox ou InputBox ou Userform ?

salut

un autre exemple que 😀😀 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 …
 
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 !! 😡

Enfin Si, c'est drôle 🙂🙂

Merci

A+😎
 
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+ 😎
 
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 🙂
 
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+
 
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+ 😎
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
35
Affichages
2 K
Retour