Notions à retenir
- MsgBox affiche un message simple et suspend l’exécution de la macro jusqu’à validation utilisateur
- InputBox permet de récupérer une saisie utilisateur et la stocker dans une variable
- Application.InputBox offre un contrôle du type de données attendues (nombre, texte, référence…)
MsgBox en VBA
La fonction MsgBox permet d’afficher un message simple à l’utilisateur. Voici la syntaxe de base :
Sub essai_msgbox()
MsgBox "Bonjour !"
End Sub

L’exécution de la macro est suspendue tant que la boîte de dialogue reste ouverte. L’utilisateur doit cliquer sur OK pour poursuivre. Vous pouvez personnaliser le type de boutons affichés en ajoutant un paramètre après le message :
- vbOKOnly : bouton OK uniquement (par défaut)
- vbYesNo : boutons Oui et Non
- vbExclamation : icône d’exclamation
InputBox en VBA
InputBox permet de demander une saisie à l’utilisateur et de stocker la réponse dans une variable :
Sub essai_inputbox()
nom = InputBox("Quel est votre nom ?", "Votre nom")
Range("A1").Value = nom
End Sub
Cette fonction retourne une chaîne de caractères correspondant à la saisie utilisateur. Si l’utilisateur annule, la variable contiendra une chaîne vide.
Application.InputBox
Application.InputBox offre davantage de contrôle en permettant de spécifier le type de données attendues via le paramètre « type » :
Sub essai_application_inputbox()
age = Application.InputBox("Quel est votre âge ?", type:=1)
Range("A1").Value = age
End Sub

Les types disponibles sont :
- 0 : Formule
- 1 : Nombre
- 2 : Texte
- 4 : Valeur logique (True/False)
- 8 : Référence de cellule
- 16 : Valeur d’erreur
- 64 : Tableau de valeurs
Si l’utilisateur saisit une valeur non conforme au type spécifié, un message d’erreur s’affiche automatiquement et redemande la saisie.