Table des matières:
- Vous pouvez utiliser la fonction MsgBox de deux façons:
- Si vous affichez une boîte de message contenant plus qu'un simple bouton OK, vous voudrez probablement savoir sur quel bouton l'utilisateur clique. Tu es chanceux. La fonction MsgBox peut renvoyer une valeur qui représente quel bouton est cliqué. Vous pouvez affecter le résultat de la fonction MsgBox à une variable.
Vidéo: Les boîtes de dialogue en VBA Excel pour interagir 2025
Vous connaissez probablement la fonction VBA MsgBox. La fonction MsgBox, qui accepte les arguments indiqués ci-dessous, est pratique pour afficher des informations et obtenir une entrée utilisateur simple. Il est capable d'obtenir l'entrée de l'utilisateur parce que c'est une fonction. Une fonction, comme vous le savez probablement, renvoie une valeur. Dans le cas de la fonction MsgBox, il utilise une boîte de dialogue pour obtenir la valeur qu'il renvoie. Continuez à lire pour voir exactement comment cela fonctionne.
Argument | Répercussions |
---|---|
Invite | Le texte Excel s'affiche dans la boîte de message |
Boutons | Un nombre qui spécifie quels boutons (avec quelle icône)
apparaît dans la boîte de message (optionnel) |
Titre | Le texte qui apparaît dans la barre de titre
(facultatif) |
Voici une version simplifiée de la syntaxe de la fonction MsgBox: <
Affichage d'une boîte de message simple
Vous pouvez utiliser la fonction MsgBox de deux façons:
Pour afficher simplement un message à l'utilisateur:
-
Dans ce cas, vous ne vous souciez pas du résultat renvoyé par la fonction. Pour obtenir une réponse de l'utilisateur:
-
Dans ce cas, vous vous souciez du résultat renvoyé par la fonction. Le résultat dépend du bouton sur lequel l'utilisateur clique.
Sub MsgBoxDemo () MsgBox "Cliquez sur OK pour lancer l'impression. "Feuilles (" Résultats "). PrintOut End Sub
Regardez ci-dessous pour voir à quoi ressemble cette boîte de message. Dans ce cas, l'impression commence lorsque l'utilisateur clique sur OK. Avez-vous remarqué qu'il n'y a aucun moyen d'annuler l'impression? Continuez à lire pour savoir comment résoudre ce problème.
Une boîte de message simple.
Si vous affichez une boîte de message contenant plus qu'un simple bouton OK, vous voudrez probablement savoir sur quel bouton l'utilisateur clique. Tu es chanceux. La fonction MsgBox peut renvoyer une valeur qui représente quel bouton est cliqué. Vous pouvez affecter le résultat de la fonction MsgBox à une variable.
Dans le code suivant, certaines constantes intégrées sont utilisées pour faciliter l'utilisation des valeurs renvoyées par MsgBox:
Sub GetAnswer () Dim Ans As Long Ans = MsgBox ("Démarrer l'impression?", VbOuiNon Sélectionnez Case Case Ans vbYes ActiveSheet. PrintOut Case vbNo MsgBox "Impression annulée" Fin Sélectionner Fin Sub
Constante
Valeur | Que fait-elle | vbOKOnly |
---|---|---|
0 | Affiche uniquement le bouton OK. | vbOKCancel |
1 | Affiche les boutons OK et Annuler. | vbAbortRetryIgnore |
2 | Affiche les boutons 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 du message critique. | vbQuestion |
32 | Affiche l'icône de requête d'avertissement. | vbExclamation |
48 | Affiche l'icône du message d'avertissement. | vbInformation |
64 | Affiche l'icône de message d'information. | vbDefaultButton1 |
0 | Le premier bouton est par défaut. | vbDefaultButton2 |
256 | Le deuxième bouton est par défaut. | vbDefaultButton3 |
512 | Le troisième bouton est par défaut. | vbDefaultButton4 |
768 | Le quatrième bouton est par défaut. | Regardez à quoi ça ressemble. Lorsque vous exécutez cette procédure, la variable Ans reçoit une valeur de vbYes ou de vbNo, en fonction du bouton sur lequel l'utilisateur clique. L'instruction Select Case utilise la valeur Ans pour déterminer quelle action le code doit effectuer. |
Un simple message, avec deux boutons.
Sub GetAnswer2 () Si MsgBox ("Commencer l'impression?", VbYesNo) = vbYes Puis "… [code if Yes is cliqué] … Sinon '… [code si oui n'est pas cliqué] … End If End Sub
