Fonction VBA InputBox - Comment créer InputBox et stocker des valeurs?

Table des matières

Boîte d'entrée Excel VBA

VBA InputBox est une fonction intégrée utilisée pour obtenir une valeur de l'utilisateur, cette fonction a deux arguments majeurs dans lesquels l'un est l'en-tête de la zone de saisie et l'autre est la question pour la zone de saisie, la fonction de la zone de saisie ne peut stocker que les types de données d'entrée que la variable peut contenir.

Souvent dans Excel, nous utilisons les données qui sont déjà présentes dans la feuille Excel. Parfois, nous avons également besoin d'une sorte de données d'entrée des utilisateurs. Surtout dans VBA, l'entrée de l'utilisateur est souvent requise.

En utilisant InputBox, nous pouvons obtenir les données de l'utilisateur et les utiliser à nos fins. Une InputBox demandera à l'utilisateur d'entrer la valeur en affichant la InputBox.

Syntaxe

  • Invite: ce n'est rien d'autre que le message à l'utilisateur via une zone de saisie.
  • Titre: quel est le titre de la zone de saisie?
  • Par défaut: quelle est la valeur par défaut de la zone de saisie? Cette valeur apparaît dans la zone de saisie de la zone de saisie.

Ces trois paramètres sont assez bons dans Excel. Ignorez les 4 autres paramètres facultatifs. Pour comprendre cette syntaxe, regardez la capture d'écran ci-dessous.

Comment créer InputBox dans VBA?

Ok, passons directement à l'aspect pratique. Suivez les étapes ci-dessous pour créer votre toute première boîte de saisie.

Étape 1: Accédez à VBE (Visual Basic Editor) et insérez un nouveau module.

Étape 2: Double-cliquez sur le module inséré et créez un nom de macro.

Étape 3: Commencez à taper le mot «InputBox», vous verrez les options associées.

Étape 4: Sélectionnez la zone de saisie et laissez de l'espace, et vous verrez la syntaxe de la zone de saisie.

Étape 5: indiquez l'invite «Veuillez saisir votre nom».

Étape 6: Tapez le titre de la zone de saisie comme «Informations personnelles».

Étape 7: saisissez la valeur par défaut "Tapez ici".

Étape 8: Nous avons terminé. Exécutez ce code et voyez votre première zone de saisie.

Stocker la valeur de InputBox dans les cellules

Nous allons maintenant passer par le processus de stockage des valeurs dans les cellules. Suivez les étapes ci-dessous.

Étape 1: déclarer la variable comme Variant.

Code:

Sub InputBox_Example () Dim i As Variant End Sub

Étape 2: Pour cette variable, attribuez la valeur via la zone de saisie.

Code:

Sub InputBox_Example () Dim i As Variant i = InputBox ("Please Enter Your Name", "Personal Information", "Type Here") End Sub

Remarque: une fois que la zone de saisie vient à droite du signe égal, nous devons entrer les arguments ou la syntaxe entre crochets comme nos formules régulières.

Étape 3: Maintenant, quelle que soit la valeur saisie dans la zone de saisie, nous devons la stocker dans la cellule A1. Pour cela, écrivez le code sous la forme Range ("A1"). Valeur = i

Code:

Sub InputBox_Example () Dim i As Variant i = InputBox ("Please Enter Your Name", "Personal Information", "Type Here") Range ("A1"). Value = i End Sub

Ok, nous avons terminé. Exécutons ce code maintenant en appuyant sur la touche F5, ou vous pouvez également exécuter le code manuellement, comme indiqué dans la capture d'écran ci-dessous.

Dès que vous exécutez ce code, nous verrons la zone de saisie.

Tapez le nom et cliquez sur Ok.

Dès que vous tapez le nom et cliquez sur OK, vous verrez la valeur de la zone de saisie dans la cellule A1.

Remarque: nous pouvons stocker n'importe quelle valeur de la zone de saisie si la variable est définie correctement. Dans l'exemple ci-dessus, j'ai défini la variable comme un Variant, qui peut contenir tous les types de données.

Par exemple, j'ai maintenant changé le type de variable en Date.

Maintenant, exécutez le code et tapez autre que la date.

Cliquez sur ok et voyez quelle est la réponse.

We got the error value as Type mismatch. Since we have declared the variable data type as DATE, we cannot store anything other than DATE with an inputbox.

Now enter the date and see what happens.

As soon as you type the date and then click on OK and see what the response is.

Since we have entered the correct value, we got the result in the cell.

Validation of Input from User

You know what we can actually allow users to enter only specific value i.e., allow the user to enter only text, only number, only logical values, etc.

To perform this task, we need to use the method Application.InputBox.

Let’s look at the syntax of the Application.InputBox.

  • Prompt: This is nothing but the message to the user through an input box.
  • Title: What is the title of the input box?
  • Default: What is the default value of the input box? This value appears in the typing area of the input box.
  • Left: What should be the x position of the input box in the current window?
  • Top: What should be the y position of the inputbox in the current window?

To start this, inputbox declare variable and assign the value to a variable.

Now to assign value to start the word Application.

After the word Application, put a dot (.) and type Inputbox.

Select the input box and open the bracket.

As usual, enter Prompt, Title, and Default Value.

Now ignore left, top, help file, help context ID by typing 5 commas (,).

Here Type means what should be the input string. Below are the validations available.

Alors, en conséquence, sélectionnez votre type. J'ai sélectionné 1 comme paramètre, c'est-à-dire uniquement des nombres.

Exécutez maintenant le code et le type de valeur de texte.

Cliquez sur OK et voyez ce qui se passe.

Il dit que le numéro n'est pas valide. Nous ne pouvons donc entrer que des nombres dans cette zone de saisie.

Choses dont il faut se rappeler

  • Nous avons besoin d'une variable pour stocker la valeur donnée par la zone de saisie.
  • Si vous utilisez InputBox sans la méthode Application, vous devez être parfait sur le type de données variable.
  • Utilisez le type de données Variant, qui peut contenir tout type de type de données et stocker.

Articles intéressants...