MsgBox personnalisée VBA Access [Résolu/Fermé]

Signaler
-
Messages postés
12184
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
31 juillet 2020
-
Je voudrais personnaliser une MsgBox sous Access en remplacant les constantes Yes/No/Retry/Cancel par Choix1 Choix2 Choix3.
Quelquechose du genre :

Dim reponse
reponse = Msgbox ("Quel Choix ?", Choix1+hoix2+Choix3, "Choix !")

If reponse = Choix1 Then...

Mais j'y arrive pôôô

Merci d'avance.

7 réponses

Messages postés
240
Date d'inscription
lundi 14 juillet 2003
Statut
Membre
Dernière intervention
20 juin 2006
25
Hello,

Rien ne t'empêche d'en créer une toi même de MsgBox!
Tu crées un form et dans ses caractéristiques tu ôtes tous les éléments tels que barres de défilement, boutons de fermeture, zoom etc... Tu lui attribue le caractère "modal" et le tour est jouer.

:-)

Rien n'est plus dangereux qu'une idée quand on a 
qu'une idée
  :-)
6
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60328 internautes nous ont dit merci ce mois-ci


Affiche un message dans une boîte de dialogue, attend que l'utilisateur clique sur un bouton, puis renvoie une valeur de type Integer qui indique le bouton choisi par l'utilisateur.

Syntaxe

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

La syntaxe de la fonction MsgBox comprend les arguments nommés suivants :

Élément Description
prompt Expression de chaîne affichée comme message dans la boîte de dialogue. La longueur maximale de l'argument prompt est d'environ 1 024 caractères selon la largeur des caractères utilisés. Si l'argument prompt occupe plus d'une ligne, n'oubliez pas d'insérer un retour chariot (Chr(13)) ou un saut de ligne (Chr(10)) entre les lignes, ou une combinaison de caractères retour chariot-saut de ligne (Chr(13) & Chr(10)).
buttons Facultatif. Expression numérique qui représente la somme des valeurs indiquant le nombre et le type de boutons à afficher, le style d'icône à utiliser, l'identité du bouton par défaut, ainsi que la modalité du message. Si l'argument buttons est omis, sa valeur par défaut est 0.
title Facultatif. Expression de chaîne affichée dans la barre de titre de la boîte de dialogue. Si l'argument title est omis, le nom de l'application est placé dans la barre de titre.
helpfile Facultatif. Expression de chaîne indiquant le fichier d'aide à utiliser pour fournir une aide contextuelle sur la boîte de dialogue. Si l'argument helpfile est défini, l'argument context doit l'être également.
context Facultatif. Expression indiquant le numéro de contexte attribué par l'auteur de l'aide à la rubrique appropriée. Si l'argument context est défini, l'argument helpfile doit l'être également.
Valeurs

L'argument buttons prend les valeurs suivantes :

Constante Valeur Description
vbOKOnly 0 Affiche le bouton OK uniquement.
vbOKCancel 1 Affiche les boutons OK et Annuler.
vbAbortRetryIgnore 2 Affiche le bouton Abandonner, Réessayer et Ignorer.
vbYesNoCancel 3 Affiche les boutons Oui, Non et Annuler.
vbYesNo 4 Affiche les boutons Oui et Non.
vbRetryCancel 5 Affiche les boutons Réessayer et Annuler.
vbCritical 16 Affiche l'icône Message critique.
vbQuestion 32 Affiche l'icône Requête d'avertissement.
vbExclamation 48 Affiche l'icône Message d'avertissement.
vbInformation 64 Affiche l'icône Message d'information.
vbDefaultButton1 0 Le premier bouton est le bouton par défaut.
vbDefaultButton2 256 Le deuxième bouton est le bouton par défaut.
vbDefaultButton3 512 Le troisième bouton est le bouton par défaut.
vbDefaultButton4 768 Le quatrième bouton est le bouton par défaut.
vbApplicationModal 0 Boîte de dialogue modale. L'utilisateur doit répondre au message affiché dans la zone de message avant de pouvoir continuer de travailler dans l'application en cours.
vbSystemModal 4096 Modal système. Toutes les applications sont interrompues jusqu'à ce que l'utilisateur réponde au message affiché dans la zone de message.
Le premier groupe de valeurs (0 à 5) décrit le nombre et le type de boutons affichés dans la boîte de dialogue. Le deuxième groupe (16, 32, 48 et 64) décrit le style d'icône. Le troisième groupe (0, 256 et 512) définit le bouton par défaut. Enfin, le quatrième groupe (0 et 4 096) détermine la modalité de la zone de message. Au moment d'additionner ces nombres pour obtenir la valeur finale de l'argument buttons, ne sélectionnez qu'un seul nombre dans chaque groupe.

Note Ces constantes sont indiquées par Visual Basic pour Applications. Vous pouvez par conséquent les utiliser n'importe où dans votre code à la place des valeurs réelles correspondantes.

Valeurs renvoyées

Constante Valeur Bouton
vbOK 1 OK
vbCancel 2 Annuler
vbAbort 3 Abandonner
vbRetry 4 Réessayer
vbIgnore 5 Ignorer
vbYes 6 Oui
vbNo 7 Non
Remarques

Lorsque les deux arguments helpfile et context sont définis, l'utilisateur peut appuyer sur F1 pour afficher la rubrique d'aide correspondant à l'argument context. Certaines applications hôtes, Microsoft Excel par exemple, peuvent ajouter automatiquement un bouton Aide à la boîte de dialogue.
Si la boîte de dialogue est dotée d'un bouton Annuler, appuyer sur Échap équivaut à cliquer sur Annuler. Si la boîte de dialogue contient un bouton Aide, cela signifie qu'une aide contextuelle relative à la boîte de dialogue est disponible. Toutefois, aucune valeur n'est renvoyée tant que l'utilisateur n'a pas cliqué sur l'un des autres boutons.

Note Si vous souhaitez préciser plus d'informations que celles fournies par le premier argument nommé, vous devez utiliser la fonction MsgBox dans une expression. Si vous voulez omettre certains arguments de position, vous devez quand même placer la virgule de séparation correspondante.
Messages postés
23761
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
2 900
Salut,

en Français, et pour résumer le propos précédent, ce n'est pas possible ;-)

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
c'est possible, mon cher Blux...
'Msgbox Ok + Annuler
Select Case MsgBox("Le message ici", vbOKCancel, "Le titre de la MsgBox")
Case vbOK
'procédure si click sur Ok
Case vbCancel
'procédure si click sur Annuler
End Select
End Sub
Messages postés
23761
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
2 900 > Peper-Eliot
Tu n'as pas compris la question : est-il possible d'avoir des boutons personnalisés dans la boite de dialogue ?

La réponse est non.

Ce que tu proposes ce sont des actions particulières après l'apPui sur un bouton ou un autre, pAs un changement de libellé des boutons...
Peper-Eliot,
tu viens de ma sauver.... j'étais entrain d'oser dans le vide...
j'espere que je suis pas 'CON'
merci!
Messages postés
12184
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
31 juillet 2020
2 477
Bonjour,

Pour être tout à fait précis, ce genre de MsgBox, contrairement à ce qui a été dit précédemment est tout à fait réalisable...
Je sais que ce sujet date (2004 tout de même), mais suite à la relance de XTian, je me permets d'intervenir pour l'actualiser.

Vous trouverez ici le tutoriel pour personnaliser votre MsgBox.
Messages postés
70
Date d'inscription
lundi 3 novembre 2003
Statut
Membre
Dernière intervention
23 septembre 2008
17
salut;
il m'est arrivé sur un dev une histoire du meme genre ( vouloir faire des msgbox differentes )

ce que j'ai mis en place : 1 seul form msgbox
une table avec les choix et vb decoulant des choix , un champ argument, titre,

ensuite depuis un form quelconque appeler le form msgbox en passant la bonne valeur du champ argument en openarg et ensuite sur l'ouverture du forms msgbox redefiner le forms ( titre , caption, libelle bouton etc etc )
un peu lourd quand meme.......
abandonné par la suite



A+
Essayer.........des fois ça marche............
J'ai effectivement touné l'aide Access dans tous les sens mais j'espérais que quelqu'un ait une petite idée .... 'sait jamais...
A+
J'ai aussi pensé à cette solution... Pb : j'ai X évènements qui lancent une MsgBox et mes X MsgBox sont toutes un peu différentes les unes des autres ... donc X forms :o(
La solution VBA + algorithme serait préférable....