MsgBox, InputBox et Application.InputBox

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

Exemple MsgBox VBA

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

Application InputBox avec contrôle de type

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.

Laisser un commentaire

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

46 − 42 =
Powered by MathCaptcha

Retour en haut