Comment créer des fonctions de boîte de message dans Excel ?

La première chose que j’ai apprise à propos de VBA a été d’utiliser une boîte de message (« fonction msgbox »). C’est comme une simple boîte contextuelle sur votre fenêtre Excel pour afficher un message spécifique. Si vous y réfléchissez, vous pouvez l’utiliser de deux manières.

  • Livrer un message à l’utilisateur.
  • Obtenez une réponse simple de l’utilisateur.

La plupart des programmeurs VBA l’utilisent dans leurs codes de macro pour les rendre plus interactifs et si vous ne le connaissez pas, je parie qu’après avoir lu cet article, vous en tomberez amoureux.

Conseil d’expert : si vous êtes un débutant en VBA, il peut être judicieux d’en savoir plus sur la boîte de message VBA.

Donc, aujourd’hui, dans cet article, j’aimerais partager avec vous tous les détails sur l’utilisation d’une boîte de message dans Excel et quelques exemples concrets.

…Commençons.

Syntaxe

=MSGBOX(prompt, [buttons], [title], [helpfile, context])

syntaxe fonction vba msgbox

  • invite Expression de chaîne utilisée pour s’afficher sous forme de message. La longueur maximale des caractères est de 1024, qui dépend de la largeur des caractères.
  • [boutons] Vous pouvez utiliser cet argument pour spécifier les boutons, le style d’icône, l’identité du bouton et la modalité de la boîte de message.
  • [titre] Vous pouvez utiliser cet argument pour spécifier un texte de titre pour votre boîte de message.
  • [helpfile] Cet argument vous aidera à spécifier un fichier d’aide pour l’utilisateur. L’utilisateur peut accéder à ce fichier d’aide à l’aide du bouton d’aide. Si vous spécifiez un fichier d’aide, il est obligatoire de spécifier un numéro de contexte.
  • [contexte] Expression numérique utilisée pour attribuer une rubrique d’aide à partir du menu d’aide.

Remarque : Dans la liste ci-dessus, les arguments ci-dessus qui sont entre crochets sont facultatifs, vous pouvez sauter pour les spécifier.

Comment personnaliser une boîte de message et utiliser différents boutons

Vous pouvez facilement personnaliser une boîte de message VBA avec toutes les options disponibles. Jetons un coup d’œil à ces options.

#1. vbOKOnly

Cela vous donne un simple bouton OK. L’utilisateur peut cliquer dessus après avoir lu le message pour le fermer. Vous pouvez également utiliser en outre une macro à exécuter une fois que le bouton OK est cliqué.

Sous OKOnly()

MsgBox Prompt := »Ceci est une MsgBox », _

Boutons :=vbOKOnly, _

Titre : = »Boîte de messagerie »

Sous-titre de fin

#2. vbOKAnnuler

Cette constante vous donne un bouton OK et annuler. L’utilisateur a maintenant deux options pour appuyer sur OK pour continuer ou annuler pour quitter.

Sous OKAnnuler()

Invite MsgBox := »Est-ce que ça va ? », _

Boutons :=vbOKAnnuler, _

Titre : = »Boîte de messagerie »

Sous-titre de fin

#3. vbAbortRetryIgnore

Cela vous permet d’afficher trois boutons pour À propos, Réessayer et Ignorer. L’utilisateur peut abandonner l’opération, réessayer ou l’ignorer.

Sous OKAnnuler()

Invite MsgBox := »Est-ce que ça va ? », _

Boutons :=vbOKAnnuler, _

Titre : = »Boîte de messagerie »

Sous-titre de fin

#4. vbOuiNonAnnuler

Cette constante affiche trois boutons pour Oui, Non et Annuler. L’utilisateur peut Oui pour accepter et continuer, Non pour rejeter ou annuler pour fermer la boîte de message.

Sous OuiNonAnnuler()

MsgBox Prompt := »Maintenant, vous avez trois boutons », _

Boutons :=vbOuiNonAnnuler, _

Titre : = »Boîte de messagerie »

Sous-titre de fin

#5. vbOuiNon

Cette constante affiche deux boutons pour Oui et Non. L’utilisateur peut cliquer sur Oui pour accepter et continuer ou sur Non pour rejeter.

Sous OuiNon()

MsgBox Prompt := »Maintenant, vous avez deux boutons », _

Boutons :=vbOuiNon, _

Titre : = »Boîte de messagerie »

Sous-titre de fin

#6. vbRetryCancel

Maintenant, cela montre deux boutons, réessayer et annuler. Vous pouvez l’utiliser pour demander à l’utilisateur de réessayer l’opération ou de l’annuler.

Sub RetryCancel()MsgBox Prompt:=”Veuillez réessayer”, _Buttons:=vbRetryCancel, _Title:=”MsgBox”End Sub

#7. vbCritique

Cette constante affiche une icône dans la boîte de message, indiquant que le message est critique.

Sous-critique()

MsgBox Prompt := »Ceci est critique », _

Boutons :=vbCritique, _

Titre : = »Boîte de messagerie »

Sous-titre de fin

#8. vbQuestion

Cette constante peut être utilisée lorsque vous posez une question à l’utilisateur.

Sous-question()

MsgBox Prompt := »Que faire maintenant ? », _

Boutons :=vbQuestion, _

Titre : = »Boîte de messagerie »

Sous-titre de fin

#9. vbExclamation

Cette constante affichera une icône d’exclamation avec le message.

Sous Exclamation()

MsgBox Prompt := »Que faire maintenant ? », _

Boutons :=vbExclamation, _

Titre : = »Boîte de messagerie »

Sous-titre de fin

#dix. vbInformation

Il affichera une icône indiquant que le message est une information.

Sub Information()MsgBox Prompt:=”Que faire maintenant?”, _Buttons:=vbInformation, _Title:=”MsgBox”End Sub

#11. vbDefaultButton1

Utilisez cette constante pour spécifier le premier bouton de votre boîte msg comme bouton par défaut.

Sub DefaultButton1()MsgBox Prompt:=”Button1 is Highlighted?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton1, _Title:=”MsgBox”End Sub

#12. vbDefaultButton2

Utilisez cette constante pour spécifier le deuxième bouton de votre boîte de message comme bouton par défaut.

Sub DefaultButton2()MsgBox Prompt:=”Button2 is Highlighted?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton2, _Title:=”MsgBox”End Sub

#13. vbDefaultButton3

Utilisez cette constante pour spécifier le troisième bouton de votre msgbox comme bouton par défaut.

Sub DefaultButton3()MsgBox Prompt:=”Button3 is Highlighted?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton3, _Title:=”MsgBox”End Sub

#14. vbDefaultButton4

Utilisez cette constante pour spécifier le quatrième bouton de votre msgbox comme bouton par défaut.

Sub DefaultButton4()MsgBox Prompt:=”Button4 is Highlighted?”, _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton4, _Title:=”MsgBox”End Sub

#15. vbApplicationModal

Cette constante suspendra l’application (Excel), l’utilisateur doit répondre à la msgbox pour utiliser l’application.

Sous OKOnly()

MsgBox Prompt := »Ceci est une MsgBox », _

Boutons :=vbOKOnly, _

Titre : = »Boîte de messagerie », _

Sous-titre de fin

#16. vbSystemModal

Cette constante suspendra toutes les applications de votre système d’exploitation, l’utilisateur doit d’abord répondre à la boîte de message.

Sub ApplicationModal()MsgBox Prompt := »Ceci est l’application modale », _Buttons :=vbOK + vbApplicationModal, _Title := »MsgBox »End Sub

#17. vbMsgBoxHelpButton

Utilisez cette constante pour ajouter un bouton d’aide à votre boîte de messagerie. Vous pouvez ajouter un fichier d’aide et un numéro de contexte pour utiliser le bouton d’aide.

Sub HelpButton()MsgBox Prompt:=”Utiliser le bouton d’aide”, _Buttons:=vbOK + vbMsgBoxHelpButton, _Title:=”MsgBox”, _HelpFile:=”C:UsersPuneet GogiaDesktopsamplehelp.chm”, _Context:=101End Sub

Une fois que l’utilisateur clique sur le bouton d’aide, un menu d’aide apparaît.

#18. vbMsgBoxSetForeground

Cette constante vous aidera à faire de votre fenêtre de boîte de message une fenêtre de premier plan.

Sub SetForeground()MsgBox Prompt:=”Cette MsgBox est au premier plan”, _Buttons:=vbOK + vbMsgBoxSetForeground, _Title:=”MsgBox”End Sub

#19. vbMsgBoxRight

Le texte sera aligné à droite en utilisant cette constante.

Sous MsgBoxRight()

MsgBox Prompt := « Le texte est à droite », _

Boutons :=vbOK + vbMsgBoxRight, _

Titre : = »Boîte de messagerie »

Sous-titre de fin

#20. vbMsgBoxRtlLecture

En utilisant cette constante, la boîte de message basculera vers la droite. Cette constante est principalement conçue pour les systèmes hébreu et arabe.

Sous MsgBoxRtlLecture()

MsgBox Prompt := « Cette boîte est renversée », _

Boutons :=vbOK + vbMsgBoxRtlLecture, _

Titre : = »Boîte de messagerie »

Sous-titre de fin

Valeurs renvoyées

Chaque fois qu’un utilisateur répond à la boîte de message en cliquant sur l’un des boutons, un numéro est généré. Cela vous aidera à identifier le bouton sur lequel l’utilisateur a cliqué.

Constant
Valeur
Description
vbOK
1
D’ACCORD
vbAnnuler
2
Annuler
vbAbandonner
3
Avorter
vbRéessayer
4
Recommencez
vbIgnorer
5
Ignorer
vbOui
6
Oui
vbNon
7
Non

Exemples concrets d’utilisation de la fonction de boîte de message VBA dans Excel

Ici, j’ai répertorié quelques exemples concrets de boîte de message VBA et je suis sûr que ces exemples vous inspireront à l’utiliser.

#1. Exécuter une macro avec une MsgBox VBA

Maintenant, avec l’aide de la fonction msgbox, vous pouvez demander à un utilisateur avant d’exécuter une macro. Regardons la macro ci-dessous pour comprendre.

Sous SaveThis()

Dim Result As Integer

Résultat = MsgBox(« Voulez-vous enregistrer ce fichier ? », vbOKAnnuler)

Si Résultat = vbOK Alors

ActiveWorkbook.Save

Sous-titre de fin

enregistrer le classeur avec vba msgbox

Vous pouvez demander à l’utilisateur d’enregistrer le classeur et si l’utilisateur clique sur le bouton OK, le code macro enregistrera le classeur.

#2. Insérer un tableau dans une boîte de message

Vous pouvez utiliser vbTab pour entrer des données tabulaires dans la boîte de message. Dans cet exemple, le tableau commence à partir de la cellule A1.

Sous AddToMsgBox()

Dim Msg As String

Dim r en tant qu’entier

Dim c en tant qu’entier

Dim rc en tant qu’entier

Dim cc en tant qu’entier

Dim myRows As Range

Dim myColumns As Range

Msg = «  »

Définir myRows = Range(« A:A »)

Définissez myColumns = Range(« 1:1 »)

rc = Application.CountA(myRows)

cc = Application.CountA(myColumns)

Pour r = 1 à rcPour c = 1 à cc

Msg = Msg & Cellules(r, c).Texte

Si c <= cc Alors

Msg = Msg & vbTab

cMsg suivant = Msg & vbCrLf

Suivant r

MsgBox Msg

Sous-titre de fin

#3. Afficher la boîte de message à l’ouverture d’un fichier

Si vous regardez la macro ci-dessous, j’ai utilisé auto_open pour créer un message à afficher à l’ouverture du classeur.

Sous auto_open()

MsgBox « Bienvenue sur Exceladvisor & Merci d’avoir téléchargé ce fichier » _

+ vbNewLine + vbNewLine + « Vous découvrirez ici une explication détaillée de la fonction MsgBox. » _

+ vbNewLine + vbNewLine + « Et, n’oubliez pas de vérifier d’autres trucs sympas. »

Sous-titre de fin

Points à retenir

  1. Vous ne pouvez pas ajouter quatre boutons dans une boîte de message si vous n’utilisez pas le bouton d’aide comme quatrième bouton.
  2. Pour créer un fichier d’aide pour votre boîte de message, vous pouvez vous référer à l’exemple de fichier suivant.

Exemple de fichier

Téléchargez cet exemple de fichier ici pour en savoir plus à ce sujet.

Conclusion

La boîte de message vous aide non seulement à transmettre un message, mais également à faire une impression créative sur l’utilisateur. Vous pouvez leur envoyer un message et obtenir une réponse simple.

Et comme je l’ai dit, si vous débutez avec VBA, apprendre à utiliser une boîte de message est l’une des meilleures choses. J’espère que cet article vous a aidé à vous rapprocher de votre rêve de maîtrise de VBA, mais dites-moi maintenant une chose.

Pensez-vous que la fonction MsgBox est l’une des choses les plus cool de VBA ?

Assurez-vous de partager vos opinions avec moi dans la section des commentaires, j’aimerais avoir de vos nouvelles et n’oubliez pas de partager cette astuce avec vos amis.

En savoir plus sur VBA

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *