ComboBox VBA

Boîte de liste déroulante Excel VBA

ComboBox est la fonctionnalité de formulaire utilisateur dans VBA , ils sont différents des zones de texte car les zones de texte sont utilisées pour ne contenir que du texte et nous permettons à l'utilisateur de saisir n'importe quel type de données, mais en utilisant des zones de liste déroulante, nous limitons l'utilisateur pour le type de réponse que nous désirons ainsi les données sont de manière ordonnée, elles sont similaires à la validation des données de liste dans Excel.

ComboBox peut être comparé à une liste déroulante dans Excel, dans les feuilles de calcul, nous avons utilisé la validation des données pour fournir une liste déroulante, mais dans VBA, il existe une fonctionnalité de formulaire utilisateur où elle est utilisée pour fournir une liste déroulante dans n'importe quel formulaire utilisateur, mais si nous voulons utiliser une zone de liste déroulante dans Excel, nous pouvons également y accéder à partir de la section développeur à partir de là, nous pouvons créer des zones de liste déroulante pour des cellules individuelles ou multiples.

La zone de liste déroulante est très similaire à la liste déroulante que nous avons dans une feuille de calcul Excel, avec la zone de liste déroulante, nous pouvons stocker des valeurs prédéterminées, afin que les utilisateurs effectuent la sélection dans la liste disponible à partir de la zone de liste déroulante. La zone de liste déroulante est généralement utilisée avec les formulaires utilisateur dans le cadre de l'obtention de l'entrée des utilisateurs.

Les formulaires utilisateur sont utiles, mais le fait d'avoir d'autres outils sur le formulaire utilisateur est ce qui rend le formulaire utilisateur si spécial. L'un des outils que nous utilisons souvent comme outil de formulaire utilisateur est «ComboBox».

Top 2 des façons de créer une ComboBox VBA

Vous pouvez télécharger ce modèle Excel VBA Combo Box ici - Modèle Excel VBA Combo Box

# 1 - Utilisation du codage direct

Tout d'abord, nous verrons comment utiliser Combo Box avec la feuille de calcul. Ouvrez l'une des feuilles de calcul dans le classeur Excel, accédez à l'onglet Développeur et sous cet onglet, nous avons un outil appelé «Insérer». Cliquez dessus et sous celui-ci, nous avons deux options Contrôles Active X et Contrôles de formulaire dans Excel.

Dans «Active X Controls», choisissez «Combo Box».

Vous pouvez maintenant dessiner cet objet sur n'importe laquelle des feuilles de calcul.

Faites un clic droit sur la liste déroulante et choisissez l'option «Propriétés».

Lorsque vous choisissez des propriétés, une énorme liste de propriétés d'une zone de liste déroulante s'ouvre.

Pour cette zone de liste déroulante, nous allons donner une liste de noms de département donc changez la propriété name de la zone de liste déroulante en  «DeptComboBox» .

Désormais, cette zone de liste sera référencée sous le nom de «DeptComboBox» . Nous devons donner des noms de département prédéterminés, alors j'ai ici une liste de noms de département.

Maintenant, nous devons ajouter ces valeurs à la liste de la zone de liste déroulante, nous pouvons le faire de deux manières, via le codage ou via le gestionnaire de noms.

Double-cliquez sur la Combobox et cela vous mènera à la procédure de macro VBA.

Mais nous avons besoin de voir ces noms de département lorsque le classeur s'ouvre, alors double-cliquez sur "ThisWorkbook".

Dans la liste déroulante, choisissez «Classeur».

Parmi les options, choisissez «Ouvrir».

Maintenant, il créera un blanc comme celui ci-dessous.

À l'intérieur de cette macro, entrez le code ci-dessous.

Code:

 Private Sub Workbook_Open () With Worksheets ("Sheet1"). DeptComboBox .AddItem "Finance" .AddItem "Marketing" .AddItem "Merchandising" .AddItem "Operations" .AddItem "Audit" .AddItem "Client Servicing" End With End Sub 

Ok, maintenant enregistrez et fermez le classeur, lorsque vous rouvrez le classeur, nous pourrions voir les noms de service qu'il contient.

# 2 - Utilisation d'UserForm

Une autre façon d'ajouter des valeurs à la zone de liste déroulante consiste à utiliser le formulaire utilisateur. Tout d'abord, donnez un nom aux cellules comme «Département».

Accédez à Visual Basic Editor et insérez le formulaire utilisateur à partir de l'option INSERT.

Le nouveau formulaire utilisateur est maintenant créé.

À côté du formulaire utilisateur, nous pouvons voir «Boîte à outils» à partir de cette boîte à outils, nous pouvons insérer «Combo Box».

Maintenant, la zone de liste déroulante est intégrée au formulaire utilisateur, dans cette méthode pour ouvrir l'option des propriétés, sélectionnez la zone de liste déroulante et appuyez sur la touche F4 pour ouvrir la fenêtre des propriétés.

Faites défiler l'onglet des propriétés et choisissez «Source de la ligne».

Pour cette «Source de ligne», entrez le nom que nous avons donné aux cellules de nom de service.

Maintenant, cette zone de liste déroulante contient la référence du nom «Département» .

Exécutez maintenant le formulaire utilisateur en utilisant le bouton Exécuter.

Nous pouvons maintenant voir une liste de noms de service dans la zone de liste déroulante du formulaire utilisateur.

Formulaire pratique associé à une zone de liste déroulante, une zone de texte et de nombreux autres outils. Nous allons créer un simple formulaire utilisateur de saisie de données avec une zone de texte et une zone de liste déroulante.

Créez un formulaire utilisateur comme ci-dessous.

Créez deux boutons de commande.

Double-cliquez sur le bouton «SOUMETTRE», il s'ouvrira sous la macro.

À l'intérieur de cette macro, ajoutez le code ci-dessous.

Code:

 Private Sub CommandButton1_Click() Dim LR As Long LR = Cells(Rows.Count, 1).End(xlUp).Row + 1 Cells(LR, 1).Value = TextBox1.Value Cells(LR, 2).Value = ComboBox1.Value End Sub 

Now double click on the “CANCEL” button and add the below code.

Now in the worksheet create a template like the below.

Now run the user form and it will open up like this.

Enter the employee name and pick the department name from the combo list.

Click on the SUBMIT button and see the magic.

We got the values entered in the table format we have created.

Things to Remember

  • COMBO BOX has its own properties as well.
  • Adding values to list comes in two ways one is a coding way and another one is range name reference.
  • COMBO BOX is usually part of the user form.