Aller au contenu
Accueil » Utilisation de la fonction InputBox en VBA

Utilisation de la fonction InputBox en VBA

    La fonction InputBox est une fonction intégrée à VBA qui permet de créer une boîte de dialogue pour demander à l’utilisateur de saisir une valeur. Cette fonction est très utile pour créer des applications interactives où l’utilisateur peut saisir des données à partir de la boîte de dialogue.

    Dans cet article, nous allons explorer les différentes options de la fonction InputBox et comment les utiliser pour créer des boîtes de dialogue conviviales et utiles pour l’utilisateur.

    Syntaxe de la fonction InputBox

    La fonction est détaillée dans le document officielle que vous pourrez consulter ici. La syntaxe de la fonction InputBox est la suivante :

    InputBox(prompt[, title] [, default] [, xposition] [, yposition] [, helpfile, context])

    Les arguments obligatoires et optionnels de la fonction InputBox sont les suivants :

    • prompt : chaîne de caractères qui spécifie le message à afficher dans la boîte de dialogue.
    • title : chaîne de caractères qui spécifie le titre de la boîte de dialogue. Par défaut, le titre est « Entrer une valeur ».
    • default : chaîne de caractères qui spécifie la valeur par défaut à afficher dans la zone de texte de la boîte de dialogue.
    • xposition : valeur numérique qui spécifie la position horizontale de la boîte de dialogue par rapport à l’écran.
    • yposition : valeur numérique qui spécifie la position verticale de la boîte de dialogue par rapport à l’écran.
    • helpfile : chaîne de caractères qui spécifie le nom du fichier d’aide associé à la boîte de dialogue.
    • context : valeur numérique qui spécifie l’identificateur de contexte d’aide à utiliser pour la boîte de dialogue.

    Exemples d’utilisation de la fonction InputBox

    Voici quelques exemples d’utilisation de la fonction InputBox pour créer différents types de boîtes de dialogue :

    La commande suivante demande à l’utilisateur de saisir son nom et l’affiche dans un message de bienvenue :

    Sub exemple_inputbox()
      Dim name As String 
      name = InputBox("Entrez votre nom :", "Nom") 
      MsgBox "Bonjour " & name
    End Sub
    VB
    résultat de la fonction inputbox et msgbox en VBA

    L’exemple suivant demande l’âge de l’utilisateur. La fonction est utilisée avec une valeur par défaut, ici 30. Lors de l’affichage de l’interface, la valeur 30 sera préremplie. Je vous laisse essayer par vous-même en copiant le code dans votre application.

    Sub exemple2_inputbox()
    
    Dim age As Integer
    age = InputBox("Entrez votre âge :", "Âge", "30")
    If age < 18 Then
        MsgBox "Vous êtes trop jeune pour acheter du vin."
    Else: MsgBox "Bonne dégustation."
    End If
    
    End Sub
    VB

    Dans ce dernier exemple, on va définir la position de la boîte de dialogue via les arguments « xposition » et « yposition ». Le programme demande le mot de passe à l’utilisateur. Le message renvoyé dépendra donc de la réponse.

    Sub exemple3_inputbox()
    
    Dim password As String
    password = InputBox("Entrez votre mot de passe :", "Mot de passe", , 100, 100)
    If password = "1234" Then
        MsgBox "Mot de passe correct."
    Else: MsgBox "Mot de passe incorrect."
    End If
    End Sub
    VB

    Dans ces exemples, nous avons utilisé la fonction InputBox pour demander à l’utilisateur de saisir différentes valeurs, telles que le nom, l’âge ou le mot de passe. Nous avons également utilisé les arguments optionnels de la fonction pour personnaliser l’apparence de la boîte de dialogue, tels que la valeur par défaut, la position de la boîte de dialogue, etc.

    Conseils pour utiliser la fonction InputBox en VBA

    • Gardez le message de la boîte de dialogue simple et concis pour éviter toute confusion
    • Utilisez le titre de la boîte de dialogue pour donner un contexte à l’utilisateur sur ce qu’il doit saisir. Par exemple, si vous demandez à l’utilisateur de saisir une date de naissance, utilisez un titre tel que « Date de naissance ».
    • Utilisez la valeur par défaut pour pré-remplir la zone de texte avec une valeur qui pourrait être courante ou attendue. Cela permet à l’utilisateur de gagner du temps et d’éviter les erreurs de frappe.
    • Utilisez des contrôles de validation pour vous assurer que les valeurs saisies par l’utilisateur sont valides. Par exemple, vous pouvez utiliser la fonction IsNumeric pour vérifier si la valeur saisie est un nombre.
    • Évitez d’utiliser la fonction InputBox pour demander à l’utilisateur de saisir des données sensibles telles que les informations de connexion ou les numéros de carte de crédit. Utilisez plutôt des contrôles de saisie de données plus sécurisés pour garantir la confidentialité des données.
    • Évitez d’utiliser la fonction InputBox pour demander à l’utilisateur de saisir de grandes quantités de données, car cela peut rendre la boîte de dialogue encombrée et difficile à utiliser. Utilisez plutôt des formulaires ou des contrôles personnalisés pour saisir de grandes quantités de données. Voici un article qui vous montrera comment créer des formulaires.

    Conclusion

    La fonction InputBox est une fonction très utile pour créer des boîtes de dialogue conviviales et interactives en VBA. En utilisant les différentes options de la fonction, vous pouvez personnaliser l’apparence et le comportement de la boîte de dialogue pour répondre aux besoins de l’utilisateur. En suivant les conseils ci-dessus, vous pouvez créer des boîtes de dialogue efficaces et sûres pour saisir des données dans votre application VBA.

    Merci de m’avoir lu, n’hésitez pas à laisser un commentaire,
    A bientôt,
    Benjamin

    Si vous avez aimé l'article, vous êtes libres de le partager ! :)

    Laisser un commentaire