Fonction MsgBox

Affiche un message dans une boîte de dialogue, attend que l’utilisateur clique sur un bouton et renvoie un Entier indiquant sur quel bouton l’utilisateur a cliqué.

Remarque

Vous voulez développer des solutions qui étendent l’expérience Office sur plusieurs plateformes ? Découvrez le nouveau modèle de compléments Office. Les compléments Office ont un encombrement réduit par rapport aux compléments et solutions VSTO. Vous pouvez les créer à l’aide de pratiquement n’importe quelle technologie de programmation web, telle que HTML5, JavaScript, CSS3 et XML.

Syntaxe

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

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

Élément Description
prompt Obligatoire. Expression de chaîne affichée en tant que message dans la boîte de dialogue. La longueur maximale de prompt est d’environ 1 024 caractères, en fonction de la largeur des caractères utilisés. Si prompt est constitué de plus d’une ligne, vous pouvez séparer les lignes en utilisant un caractère retour chariot (Chr(13)), un caractère de saut de ligne (Chr(10)), ou une combinaison de caractères retour chariot et saut de ligne ((Chr(13) & (Chr(10)) entre chaque ligne.
buttons Facultatif. Expression numérique est la combinaison de valeurs spécifiant le nombre et le type de boutons à afficher, le style d'icône à utiliser, l'identité du bouton par défaut et la modalité de la boîte de message. Si cet argument est omis, la valeur par défaut pourbuttons est 0.
title Facultatif. Expression de chaîne affichée dans la barre de titre de la boîte de dialogue. Si vous omettez title, 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 pour la boîte de dialogue. Si helpfile est fourni, context doit également être indiqué.
context Facultatif. Expression numérique indiquant le numéro de contexte d’Aide attribué par l’auteur de l’Aide à la rubrique appropriée. Si context est fourni, helpfile doit également être indiqué.

Paramètres

Les paramètres de l’argument boutons sont les suivants :

Constante Valeur Description
vbOKOnly 0 Affiche le boutonOK uniquement.
vbOKCancel 1 Affiche les boutons OK et Annuler.
vbAbortRetryIgnore 2 Affiche les boutonsAbandonner, 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ôneMessage critique.
vbQuestion 32 Affiche l’icôneRequête d’avertissement.
vbExclamation 48 Affiche l’icôneMessage d’avertissement.
vbInformation 64 Affiche l’icôneMessage 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 actuelle.
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.
vbMsgBoxHelpButton 16384 Ajoute le boutonAide à la zone de message.
vbMsgBoxSetForeground 65536 Indique la fenêtre de zone de message comme fenêtre de premier plan.
vbMsgBoxRight 524288 Le texte est aligné à droite.
vbMsgBoxRtlReading 1048576 Spécifie que le texte doit apparaître pour être lu de droite à gauche dans les systèmes en Arabe et en Hébreu.

Le premier groupe de valeurs (0-5) décrit le numéro et le type de boutons affichés dans la boîte de dialogue ; le deuxième groupe (16, 32, 48, 64) décrit le style d’icône ; le troisième groupe (0, 256, 512) détermine quel bouton est celui par défaut ; et le quatrième groupe (0, 4096) détermine la modalité de la zone de message. Lorsque vous combinez des numéros pour créer une valeur finale pour l’argument buttons, utilisez un seul numéro de chaque groupe.

Remarque

Ces constantes sont spécifiées par Visual Basic pour Applications dans l’énumération VbMsgBoxStyle . Par conséquent, elles peuvent être utilisées n’importe où dans votre code à la place de valeurs réelles.

Valeurs de retour

Les valeurs de retour sont définies dans l’énumération VbMsgBoxResult .

Constante Valeur Description
vbOK 1 OK
vbCancel 2 Cancel
vbAbort 3 Abandonner
vbRetry 4 Réessayer
vbIgnore 5 Ignore
vbYes 6 Oui
vbNo 7 Non

Remarques

Lorsque helpfile et context sont fournis tous les deux, l’utilisateur peut appuyer sur F1 (Windows) ou AIDE (Macintosh) pour afficher la rubrique d’Aide correspondant à context. Certainesapplications hôtes, par exemple, Microsoft Excel, ajoutent automatiquement un bouton Aide à la boîte de dialogue.

Si la boîte de dialogue affiche un bouton Annuler, appuyer sur la touche ÉCHAP a le même effet que de cliquer sur Annuler. Si la boîte de dialogue contient un boutonAide, une aide contextuelle est fournie pour la boîte de dialogue. Toutefois, aucune valeur n’est renvoyée jusqu'à ce que l’utilisateur clique sur un des autres boutons.

Remarque

Pour spécifier plus que premier argument nommé, vous devez utiliser MsgBox dans une expression. Pour omettre certains arguments de position, vous devez inclure le séparateur de virgule correspondant.

Exemple

Cet exemple utilise la fonctionMsgBox pour afficher un message d’erreur critique dans une boîte de dialogue avec les boutonsOui et Non. Le boutonNon est spécifié en tant que réponse par défaut. La valeur renvoyée par la fonctionMsgBox dépend du bouton choisi par l’utilisateur. Cet exemple part du principe que DEMO.HLP est un fichier d’Aide qui contient un sujet avec un numéro de contexte Aide égal à 1000.

Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "Do you want to continue ?"    ' Define message.
Style = vbYesNo Or vbCritical Or vbDefaultButton2    ' Define buttons.
Title = "MsgBox Demonstration"    ' Define title.
Help = "DEMO.HLP"    ' Define Help file.
Ctxt = 1000    ' Define topic context. 
        ' Display message.
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then    ' User chose Yes.
    MyString = "Yes"    ' Perform some action.
Else    ' User chose No.
    MyString = "No"    ' Perform some action.
End If

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.