Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

AH ! LES MSGBOX RECORRIGÉES ET MODIFIÉES...


Information sur la source

Catégorie :Message Box Classé sous : msgbox, message, box Niveau : Débutant Date de création : 13/02/2001 Vu : 22 497

Note :
8,13 / 10 - par 24 personnes
8,13 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

Description

ça t'explique beaucoup sur les msgbox !
Au fait, au lieu de vous battre à corriger des erreurs, pourquoi vous utilisez pas les constantes de VB. Ainsi on n'est plus obligé de déclarer des variables de type LONG !  
 

Source

  • ' On prépare les variables (toujours !!!) :
  • Dim Apparence, TypeDeBox As VbMsgBoxStyle
  • Dim Reponse As VbMsgBoxResult
  • 'La variable Apparence peut prendre l'une de ces formes :
  • 'Apparence = vbQuestion 'msgbox avec une icône question
  • 'Apparence = vbInformation 'msgbox avec une icône information
  • 'Apparence = vbCritical 'msgbox avec une icône critique (connue)
  • 'Apparence = vbDefaultButton1 'msgbox sans icône
  • 'la variable TypeDeBox peut prendre l'unes de ces formes :
  • 'TypeDeBox = vbApplicationModal 'msgbox pour l'application
  • 'TypeDeBox = vbSystemModal 'msgbox pour tout le système
  • 'TypeDeBox = vbMsgBoxHelpButton 'msgbox avec un bouton d'aide
  • 'ATTENTION : si vous utilisez comme TypeDeBox 'vbMsgBoxHelpButton
  • 'il faudra faire comme ceci :
  • 'MsgBox "Texte", -------, "Titre", "Fichier d'aide", "Contexte (integer)"
  • '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • 'On utilisera l'Apparence suivante :
  • Apparence = vbInformation
  • 'et un TypeDeBox suivant :
  • TypeDeBox = vbApplicationModal 'par défaut.
  • 'pour toutes les msgbox qui vont suivre.
  • '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • 'Situation : Bouton OK
  • 'Ici, inutile de retourner une réponse, il n'y a pas de choix.
  • MsgBox "Texte", vbOKOnly + Apparence + TypeDeBox, "Titre"
  • '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • 'Situation : Bouton OUI / NON
  • 'On retourne la réponse dans la variable 'Reponse'
  • Reponse = MsgBox("Texte", vbYesNo + Apparence + TypeDeBox, "Titre")
  • Select Case Reponse
  • Case vbYes
  • 'il a cliqué sur OUI
  • Case vbNo
  • 'il a cliqué sur NON
  • End Select
  • '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • 'Situation : Bouton OUI / NON / ANNULER
  • 'On retourne la réponse dans la variable 'Reponse'
  • Reponse = MsgBox("Texte", vbYesNoCancel + Apparence + TypeDeBox, "Titre")
  • Select Case Reponse
  • Case vbYes
  • 'il a cliqué sur OUI
  • Case vbNo
  • 'il a cliqué sur NON
  • Case vbCancel
  • 'il a cliqué sur ANNULER
  • End Select
  • '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • 'Situation : Bouton OK / ANNULER
  • 'On retourne la réponse dans la variable 'Reponse'
  • Reponse = MsgBox("Texte", vbOKCancel + Apparence + TypeDeBox, "Titre")
  • Select Case Reponse
  • Case vbOK
  • 'il a cliqué sur OK
  • Case vbCancel
  • 'il a cliqué sur ANNULER
  • End Select
  • '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • 'Situation : Bouton REESSAYER / ANNULER
  • 'On retourne la réponse dans la variable 'Reponse'
  • Reponse = MsgBox("Texte", vbRetryCancel + Apparence + TypeDeBox, "Titre")
  • Select Case Reponse
  • Case vbRetry
  • 'il a cliqué sur REESSAYERs
  • Case vbCancel
  • 'il a cliqué sur ANNULER
  • End Select
  • '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • 'Situation : Bouton ABANDON / REESSAYER / IGNORER
  • 'On retourne la réponse dans la variable 'Reponse'
  • Reponse = MsgBox("Texte", vbAbortRetryIgnore + Apparence + TypeDeBox, "Titre")
  • Select Case Reponse
  • Case vbAbort
  • 'il a cliqué sur ABANDON
  • Case vbRetry
  • 'il a cliqué sur REESSAYER
  • Case vbIgnore
  • 'il a cliqué sur IGNORER
  • End Select
  • '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • 'On peu également faire une MsgBox toute simple :
  • MsgBox "Texte", , "Titre"
  • 'Ou encore :
  • MsgBox "Texte"
  • 'Ou encore :
  • MsgBox "Texte", vbOKOnly + vbCritical, "Titre"
  • 'Bref, on peut en créer à l'infini ! et c'est facile.
' On prépare les variables (toujours !!!) :
Dim Apparence, TypeDeBox As VbMsgBoxStyle
Dim Reponse As VbMsgBoxResult

'La variable Apparence peut prendre l'une de ces formes :
'Apparence = vbQuestion        'msgbox avec une icône question
'Apparence = vbInformation     'msgbox avec une icône information
'Apparence = vbCritical        'msgbox avec une icône critique (connue)
'Apparence = vbDefaultButton1  'msgbox sans icône

'la variable TypeDeBox peut prendre l'unes de ces formes :
'TypeDeBox = vbApplicationModal     'msgbox pour l'application
'TypeDeBox = vbSystemModal          'msgbox pour tout le système
'TypeDeBox = vbMsgBoxHelpButton     'msgbox avec un bouton d'aide

'ATTENTION : si vous utilisez comme TypeDeBox 'vbMsgBoxHelpButton
'il faudra faire comme ceci :
'MsgBox "Texte", -------, "Titre", "Fichier d'aide", "Contexte (integer)"


'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

'On utilisera l'Apparence suivante :
Apparence = vbInformation
'et un TypeDeBox suivant :
TypeDeBox = vbApplicationModal 'par défaut.
'pour toutes les msgbox qui vont suivre.

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

'Situation : Bouton OK
'Ici, inutile de retourner une réponse, il n'y a pas de choix.
MsgBox "Texte", vbOKOnly + Apparence + TypeDeBox, "Titre"

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

'Situation : Bouton OUI / NON
'On retourne la réponse dans la variable 'Reponse'
Reponse = MsgBox("Texte", vbYesNo + Apparence + TypeDeBox, "Titre")
Select Case Reponse
Case vbYes
    'il a cliqué sur OUI
Case vbNo
    'il a cliqué sur NON
End Select

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

'Situation : Bouton OUI / NON / ANNULER
'On retourne la réponse dans la variable 'Reponse'
Reponse = MsgBox("Texte", vbYesNoCancel + Apparence + TypeDeBox, "Titre")
Select Case Reponse
Case vbYes
    'il a cliqué sur OUI
Case vbNo
    'il a cliqué sur NON
Case vbCancel
    'il a cliqué sur ANNULER
End Select

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

'Situation : Bouton OK / ANNULER
'On retourne la réponse dans la variable 'Reponse'
Reponse = MsgBox("Texte", vbOKCancel + Apparence + TypeDeBox, "Titre")
Select Case Reponse
Case vbOK
    'il a cliqué sur OK
Case vbCancel
    'il a cliqué sur ANNULER
End Select

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

'Situation : Bouton REESSAYER / ANNULER
'On retourne la réponse dans la variable 'Reponse'
Reponse = MsgBox("Texte", vbRetryCancel + Apparence + TypeDeBox, "Titre")
Select Case Reponse
Case vbRetry
    'il a cliqué sur REESSAYERs
Case vbCancel
    'il a cliqué sur ANNULER
End Select

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

'Situation : Bouton ABANDON / REESSAYER / IGNORER
'On retourne la réponse dans la variable 'Reponse'
Reponse = MsgBox("Texte", vbAbortRetryIgnore + Apparence + TypeDeBox, "Titre")
Select Case Reponse
Case vbAbort
    'il a cliqué sur ABANDON
Case vbRetry
    'il a cliqué sur REESSAYER
Case vbIgnore
    'il a cliqué sur IGNORER
End Select

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

'On peu également faire une MsgBox toute simple :
MsgBox "Texte", , "Titre"
'Ou encore :
MsgBox "Texte"
'Ou encore :
MsgBox "Texte", vbOKOnly + vbCritical, "Titre"
'Bref, on peut en créer à l'infini ! et c'est facile.
 

Conclusion

J'espère que ça vous aidera mais dites-moi franchement si je dois faire moins compliqué !

Druide à 'w_druide@voila.fr'
 

Commentaires et avis

signaler à un administrateur
Commentaire de legion91 le 11/05/2003 09:50:41

simple et efficace 9/10

signaler à un administrateur
Commentaire de XenoX le 27/12/2003 22:01:24

On peut faire 3 fois plus simple et plus court.
exemple pour la question oui ou non au lieu de mettre:
Reponse = MsgBox("Texte", vbYesNo + Apparence + TypeDeBox, "Titre")
Select Case Reponse
Case vbYes
    'il a cliqué sur OUI
Case vbNo
    'il a cliqué sur NON
End Select

on aurait pu mettre

on_sen_moque = msgbox("titre",vbquestion+vbYesNo,"titre")
if on_sen_moque = vbyes then 'il a cliqué sur OUI end if
if on_sen_moque = vbNo then 'il a cliqué sur NON end if

On peut remplacer "on_sen_moque" par n'importe quoi a condition qu'il est pas d'espace.
J'voudré posez une question aussi. Pourquoi doit on "toujours" préparé les variable. Sa fonctionne très bien en les mettant directement.

signaler à un administrateur
Commentaire de dionysos6868 le 18/01/2004 19:45:02

Trees bien je les connais deja mais pour les nouveau c'est un super truc

merci a toi

signaler à un administrateur
Commentaire de vblastchance le 25/01/2004 20:07:19

Bonjour à toutes et à tous,
Je suis nouveausur le site (et nul en vb...)

J'ai une question sur les msgbox..
Admettons que j'ai un programme avec son interface qui fasse une action quelquonque...J'y insere un bouton BC_Quit ,ca donne à peu pres ca:

Private Sub BC_exit_Click()
Dim Msg As String
Dim Reponse As String
Msg = MsgBox("Voulez vous vraiment quitter?", vbOKCancel, "message d'erreur")
Select Case Reponse
Case vbOK
    'il a cliqué sur OK
Case vbCancel
    'il a cliqué sur ANNULER
End Select
End
End Sub

Le truc c'est que si l'utilisateur clique sur Annuler,le programme stoppe...or je voudrais qu'il puisse s'executer puisque l'utilisateur a changé d'avis....Je ne sais pas si je suis très clair,j'essaye...

  J'ai le meme problème avec la commande Réinitialiser,par exple:
Private Sub BC_nouv_Click()
ZT_année.Text = "" '
ZT_cap.Text = ""
ZT_année.SetFocus
ZT_cap.SetFocus
List_année.Clear
List_amort.Clear
List_cap.Clear
End Sub

Losque l'utilisateur clique sur BC_nouv,ca reinitialise,mais on ne peut plus faire une autre action (l'autre bouton Calculer n'est plus griser...)

Je vous remercie d'avance,ca m'oterai vraiment une épine du pied..

signaler à un administrateur
Commentaire de dionysos6868 le 26/01/2004 08:49:39

Salut
pour ton msgbox vbOkCancel normale regarde ton code tu marque que si case vbok tu ne dit rien et vbcancel nonplus tu ferme ton select case et apres tu lui dit nd donc forcement a chaque foi que tu cliquera ok ou cancel comme ton end est apres ton end select il fermera a chaque foi

voila une correction


Private Sub BC_exit_Click()
Dim Msg As String
Dim Reponse As String
Msg = MsgBox("Voulez vous vraiment quitter?", vbOKCancel, "message d'erreur")
Select Case Reponse
Case vbOK
End
    'il a cliqué sur OK
Case vbCancel
exit sub
    'il a cliqué sur ANNULER
End Select
End
End Sub

Pour ton autre probleme je ne comprend pas tout mais deja un truc sur le meme bouton tu lui dit de mettre le focus sur de chmaps en meme temps comment vetu qu'il comprenne lol

ZT_année.SetFocus
ZT_cap.SetFocus

c'est soit l'un soit l'autre

signaler à un administrateur
Commentaire de vblastchance le 27/01/2004 00:36:14

Merci pour tout,c'est vraiment cool de ta part...En fait,je croyais que setfocus servait à reinitialiser la textbox! je ne sais pas pourquoi...mais je comprends mieux pourquoi ca ne pouvait pas marcher...
     --> ZT_année = ""    ..c'est pourtant plus simple,non?

signaler à un administrateur
Commentaire de dionysos6868 le 27/01/2004 10:08:07

oui lol

signaler à un administrateur
Commentaire de calla25 le 09/03/2004 11:32:54

Tes explications sont simples et faciles à mettre en oeuvre. Merci

signaler à un administrateur
Commentaire de hoyo22 le 15/04/2004 17:25:17

Merci, ton explication est assez complète. Je recherche d'autres infos de ce style, je débute juste sous VB.

signaler à un administrateur
Commentaire de CrazyHorse le 23/05/2004 11:30:13

Tes explications sont superes simples et faciles à mettre en oeuvre, c'est pas mal pour les debutants d'avoir un code comme ca.

Mais je me demandais si c'etait possible de mettre mon propre texte dans les msgbox, par exemple pour:
'Situation : Bouton OUI / NON / ANNULER
si je pouvais avoir"
'Situation : Bouton OUI / NON / MODIFIER

Et si aussi le MsgBox est obligatoirement bloquant pour le reste du code

signaler à un administrateur
Commentaire de cap0002004 le 08/06/2004 16:45:47

merci c'est tres util

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Message Box [ par xavier77 ] Salut, J'en ait un peu marre du MsgBox de VB, alors, j'ai donc décidé d'en créer un avec des nouvelles propriétés (couleur, des nouveau icones,...).J' Comment afficher plusieur message box ? [ par Mrx3 ] ... compatible vbscript . Quand je metMsgBox "texte1", ,"titre1"MsgBox "texte2", ,"titre2"Sa m'ouvre la première boite et apres la deuxieme, comment f Message Box non bloquante [ par Sapaya ] Voila, je voudrais savoir si c'est possible de faire une msgbox non bloquante.En bref, que le code situé apres l'appel de cet msgbox soit executé meme msgBox personnalisée [ par mickael3905 ] Bonjour,J'aimerais savoir s'il est possible de programmer une message box personnalisée.Cette message box aurait 2 boutons sur lesquels serait re message box [ par nana10 ] bonjour premierement bonne féte à tous les péres!!!!mon probléme c'est que je veux programmer en vb6un msgbox sous forme de combobox c'est à dire qu [vb.net]Message box oui/non [ par sisi35 ] Bonjour, Je voudrais avoir 2 boutons dans ma message box: "oui" et "non" et non pas "yes" et "no".Comment faire?Merci, Sylvie. obtenir une alerte sur msgbox [ par icds ] salut tous le monde je  decouvre Vb et j'ai un petit soucis pour avoir un message d'alerte suivant la valeur d'une cellule.voila j'expose ce que je ve Messagebox [ par lolo_bob2 ] Bonjour Voila je voudrais créer une message box. En fait j'ai crée une requete de ce genre [entrer numéro produit ?] quand je l'execute Probleme de msgbox [ par zizouth ] Salut,J'ai remarqué que lors qu'un affichage d'une msgbox le programme se met en pause jusqu'a qu'on appuis sur le buton ok (ou yes, no etc..) de la Colorier le fonds d'une message box. [ par bentok ] Salut tout le monde,Le fonds gris des msg box c'est pas super je trouve, j'aurais aimé la mettre en beige car je paufine mon programme.Si qq'1 a


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.