InputBox()

Accueil

InputBox
Application.InputBox
MsgBox
 

InputBox(message, titre, valeur_défaut, gauche, haut, helpfile, context)

InputBox permet de saisir une valeur au clavier.

Sub saisie_nom()
  nom = InputBox("Votre nom?", "Votre nom")
  Range("B2").Value = nom
End Sub

Si l'opérateur clique sur Annuler, on récupère une chaîne vide.

Application.InputBox(expression, titre, valDéfaut, gauche, haut, aide, aide_ctxt, type)

Permet de saisir une valeur au clavier.
Le type de champ se spécfie avec l’option Type:=x:

Valeurs de type:

0

Formule

1

Nombre

2

Texte

4

Valeur logique (True ou False)

8

Référence de cellule,

16

Valeur d'erreur(#N/A e.g)

64

Tableau de valeurs.

Si l'opérateur clique sur Annuler, on récupère la valeur False.

Exemple1 :Saisir un nombre

Si l’opérateur ne saisit pas un nombre, un message prévient l’utilisateur :

Sub saisie_nombre()
  age = Application.InputBox("Votre age", Type:=1)
  If age > 18 Then
      MsgBox "Majeur"
  End If
End Sub

Saisie d'un nombre de 3 chiffres:

Saisie Nombre

Sub saisieNombre()
  Do
    nombre = Application.InputBox("Nombre ?", Type:=1, Title:="Saisir 3 chiffres")
  Loop While Len(nombre) <> 3 And nombre <> False
  If nombre = False Then MsgBox "Annulé" Else MsgBox nombre
End Sub

ou

Sub saisieNombre2()
  Do
    Nombre = InputBox("Nombre ?", Title:="Saisir 3 chiffres")
  Loop While Not Nombre Like "###" And Nombre <> ""
  If Nombre = "" Then MsgBox "Annulé" Else MsgBox Val(Nombre)
End Sub

Exemple2 :Saisir une adresse de champ
Sur cet exemple, le type 8 permet de saisir une adresse de champ. Pour spécifier le champ, parcourir le champ avec la souris :

Sub saisie_adresse()
  Set monchamp = Application.InputBox(prompt:="Choisissez un champ", Type:=8)
  For Each i In monchamp
    i.Value = UCase(i.Value)
  Next i
End Sub

Vérifie si l’opérateur a choisi une cellule dans un champ nommé ChampSource.

Set monchamp = Application.InputBox(prompt:="Choisissez un champ", Type:=8)
If Intersect([ZoneSource], monchamp) Is Nothing Then
  MsgBox "non valide"
End If

Vérifie si l’opérateur n'a pas cliqué sur Annuler

On Error Resume Next
Set monchamp = Application.InputBox(prompt:="Choisissez un champ", Type:=8)
If Err = 0 Then
  For Each i In monchamp
     i.Value = UCase(i.Value)
  Next i
Else
  MsgBox "annulé"
End If
On Error GoTo 0

MsgBox()

MsgBox(message,TypeBoutons ,Titre ,FichierAide,Contexte)

Permet d’aficher un message et éventuellement de récupérer une réponse.

MsgBox "Bonjour!"

If MsgBox("Etes vous sûr?", vbYesNo) = vbYes Then
   ...
Else
   ...
End If

Types de boutons:

vbOKOnly OK
vbOKCancel OK et Annuler
vbAbortRetryIgnore Abandonner, Réessayer et Ignorer.
vbYesNoCancel Oui, Non et Annuler
vbYesNo Oui et Non.

 

 

 

 

 

 

 

 

 

Exemples

InputBox Adresse