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