Qu’est-ce que la zone de liste dans Excel VBA?
La zone de liste dans Excel VBA est une liste affectée à une variable. Cette liste a plusieurs entrées à sélectionner et permet de sélectionner plusieurs options à la fois. Une zone de liste peut être insérée dans un UserForm en choisissant l’option de zone de liste.
Les zones de liste utilisent des plages nommées ayant certaines valeurs. Le but de l’utilisation d’une zone de liste est d’afficher une liste de valeurs parmi lesquelles les utilisateurs peuvent choisir.
Les étapes pour créer une zone de liste dans Excel sont répertoriées comme suit:
- Étape 1: Activer le Onglet Développeur sur Excel ruban pour accéder aux contrôles ActiveX. Dans la boîte de dialogue Options Excel, cliquez sur «personnaliser le ruban dans Excel» et cochez la case Développeur.
- Étape 2: Dans l’onglet Développeur, cliquez sur Insérer, puis sur le champ «list box». Cela insère une nouvelle zone de liste dans la feuille de calcul Excel.

- Étape 3: Dessinez un rectangle dans la feuille de calcul Excel pour créer une zone de liste, comme illustré dans l’image suivante.

- Étape 4: Sélectionnez la zone de liste, accédez à l’onglet Développeur et sélectionnez «propriétés». La fenêtre «propriétés» s’ouvre.

- Étape 5: Dans la fenêtre «propriétés», saisissez «jours» dans «ListFillRange». «Jours» est la plage nommée pour les jours de la semaine.

- Étape 6: Cliquez sur la propriété «MultiSelect». Du la liste déroulante, sélectionnez «1- fmMultiSelectMulti» comme indiqué dans l’image suivante.

- Étape 7: Cliquez sur la propriété «ListStyle». Dans la liste déroulante, sélectionnez «1- fmListStyleOption». Cela ajoute des cases à cocher à gauche des éléments répertoriés, comme illustré dans l’image suivante.

- Étape 8: Fermez la fenêtre «propriétés». La zone de liste apparaît comme illustré dans l’image suivante.

Noter: Vous pouvez sélectionner «Mode de conception désactivé» en cliquant sur Mode de conception. Cela ferme le «mode conception».
Les étapes pour créer une zone de liste dans VBA sont répertoriées comme suit:
.free_excel_div {background: # d9d9d9; font-size: 16px; border-radius: 7px; position: relative; margin: 30px; padding: 25px 25px 25px 45px} .free_excel_div: avant {content: « »; background: url (https : //www.wallstreetmojo.com/assets/excel_icon.png) centre centre sans répétition # 207245; largeur: 70px; hauteur: 70px; position: absolue; haut: 50%; marge-haut: -35px; gauche: – 35px; bordure: 5px solide #fff; bordure-rayon: 50%}
- Étape 1: Cliquez avec le bouton droit sur la zone de liste et assurez-vous que le mode de conception est sélectionné. Cela lie la zone de liste à une cellule.
- Étape 2: Dans «propriétés», allez à la propriété «LinkedCell» et remplissez «B17» comme indiqué dans l’image suivante.

- Étape 3: Dans « ListFillRange », saisissez « Month ».

- Étape 4: La zone de liste apparaît comme indiqué dans l’image suivante.

Les données de la cellule B17 changent lorsque vous modifiez votre choix dans la zone de liste. Ceci est illustré dans l’image suivante.

Les étapes pour créer une zone de liste sur un UserForm sont répertoriées comme suit:
- Étape 1: Dans l’onglet Développeur, cliquez sur «Visual Basic» dans le code ou appuyez sur Alt + F11.

- Étape 2: Dans le menu Insertion, cliquez sur « UserForm ».

- Étape 3: Dans la boîte à outils, faites glisser le contrôle de zone de liste sur le «UserForm».

- Étape 4: Double-cliquez sur « UserForm » et sélectionnez « UserForm event », comme indiqué dans la capture d’écran suivante.

- Étape 5: Ajoutez le code suivant à la procédure intermédiaire.
Sous-utilisateur privé UserForm_Initialize ()
ListBox1.AddItem «MBA»
ListBox1.AddItem «MCA»
ListBox1.AddItem «MSC»
ListBox1.AddItem «MECS»
ListBox1.AddItem «CA»
End Sub

- Étape 6: Appuyez sur F5 pour exécuter le code.
Les étapes pour ajouter un contrôle dynamique à la zone de liste sur le UserForm utilisant VBA sont listés comme suit:
- Étape 1: Dans la boîte à outils, ajoutez un « CommandButton » sur le « UserForm ».

- Étape 2: Cliquez avec le bouton droit sur le « Bouton de commande » et cliquez sur « Propriétés ».

- Étape 3: Remplacez la légende du « CommandButton » par « Create_Listbox ».

- Étape 4: Double-cliquez sur le bouton de commande et le code suivant apparaît.
Sous privé CommandButton1_Click ()
End Sub

- Étape 5: Nommez la procédure suivante «Add_Dynamic_Listbox».
Sous Add_Dynamic_Listbox ()
‘Ajouter une zone de liste dynamique et l’affecter à l’objet’ LstBx ‘
Définissez LstBx = UserForm3.Controls.Add («Forms.ListBox.1»)
‘Position de la zone de liste
LstBx.Left = 20
LstBx.Top = 10
End Sub
- Étape 6: Cliquez sur F5 pour exécuter la macro.
Le code pour ajouter des éléments au contrôle de zone de liste dans VBA est mentionné comme suit:
Sous-insertion privée _Items _To_LstBox ()
ListBox1.AddItem «Élément 1»
ListBox1.AddItem «Élément 2»
ListBox1.AddItem «Élément 3»
ListBox1.AddItem «Élément 4»
ListBox1.AddItem «Élément 5»
End Sub
Le code pour effacer les éléments du contrôle de zone de liste dans VBA est mentionné comme suit:
Sous Clr_LstBx ()
UserForm3.ListBox1.Clear
End Sub
Exemple
Disons que nous avons des données de ventes quotidiennes. Nous voulons préparer une interface utilisateur graphique de ces données de vente qui nous permet de sélectionner des articles dans une zone de liste. Pour récupérer les détails des ventes, nous devons changer la cellule Index en « lien de cellule » et appliquer le Formule RECHERCHEV comme le montrent les images suivantes.


Les constantes de la zone de liste dans VBA
Les constantes, leurs valeurs et leur description sont données dans le tableau suivant:

Questions fréquemment posées
# 1 – Comment utiliser une zone de liste dans Excel?
Les zones de liste sont utilisées pour gérer les tables dans un UserForm. Les lignes d’informations sont gérées proprement sans affichage inutile d’informations dans l’UserForm.
Un utilisateur peut faire défiler les éléments de la zone de liste. Le réglage du «type de sélection» permet aux utilisateurs de sélectionner plusieurs options dans une zone de liste. Lorsque l’utilisateur sélectionne un élément dans la zone de liste, une action est entreprise avec une telle sélection.
Par défaut, la zone de liste donne une sortie qui correspond au numéro d’index de l’élément sélectionné. Ainsi, si le quatrième élément est sélectionné, la sortie sera le numéro 4.
# 2 – Comment remplir une zone de liste dans Excel VBA?
En règle générale, la zone de liste doit être remplie avec des valeurs chaque fois que le classeur est ouvert. La procédure «Ouvrir» est exécutée à chaque ouverture du classeur.
Le code suivant doit être utilisé pour remplir une zone de liste:
Avec Sheet1.lstListBox
.AddItem «James»
.AddItem «Kelly»
.AddItem «Elizabeth»
.AddItem «George»
.AddItem «William»
Terminer par
Avec ce code, la zone de liste contient 5 noms: James, Kelly, Elizabeth, George et William.
# 3 – Comment récupérer des données d’une zone de liste dans Excel?
Les données ne peuvent être utilisées efficacement que si elles sont récupérées correctement. Les étapes pour récupérer des données à partir d’une zone de liste sont mentionnées comme suit:
- Sélectionnez «Contrôle du format» dans le menu après avoir cliqué avec le bouton droit de la souris sur la zone de liste.
- Dans la zone intitulée «Lien de cellule», tapez les coordonnées d’une cellule vide.
- Sélectionnez la cellule dans laquelle les données de la zone de liste seront affichées. La formule suivante doit être utilisée:
« = INDEX ([begin cell]:[end cell],[cell link], 0) «
Noter: La «cellule de début» correspond à la première cellule de la liste. La «cellule de fin» correspond à la dernière cellule de la liste. Le «lien de cellule» correspond à la cellule dont les coordonnées ont été saisies à la deuxième étape.
# 4 – Quelle est la différence entre une zone de liste et une zone de liste déroulante?
Les différences entre une zone de liste et un boîte combo sont listés comme suit:
- Une zone de liste se compose d’une liste d’éléments et permet aux utilisateurs de sélectionner une ou plusieurs options. En revanche, une zone de liste déroulante se compose d’une combinaison d’une zone de texte et d’une liste déroulante. La zone de texte permet aux utilisateurs de saisir un élément. La liste déroulante permet aux utilisateurs de sélectionner un élément.
- Une zone de liste affiche tous les éléments d’une zone donnée à la fois, tandis qu’une zone de liste déroulante affiche un élément à la fois. Les éléments de la liste déroulante d’une combo sont visibles lorsque l’utilisateur clique
il.
- Dans une zone de liste, l’utilisateur doit choisir parmi les éléments disponibles, tandis que dans une zone de liste déroulante, un utilisateur peut taper un élément qui ne figure pas dans la liste.
- Une zone de liste est utilisée lorsque l’entrée est limitée aux éléments de la liste. Cependant, une zone de liste déroulante est utilisée dans laquelle une liste de choix suggérés est mentionnée.
- Une zone de liste utilise plus d’espace car la liste complète est affichée en même temps. En revanche, une zone de liste déroulante tient dans un petit espace car la liste est affichée uniquement en cliquant sur le bouton
flèche vers le bas.
Points clés à retenir
- Une zone de liste dans Excel est une liste affectée à une variable qui peut être utilisée pour sélectionner plusieurs éléments.
- Sur un UserForm, une zone de liste peut être insérée en sélectionnant l’option de zone de liste.
- Lors de la création d’une zone de liste dans Excel, les détails des propriétés «ListFillRange», «MultiSelect» et «ListStyle» doivent être saisis.
- Le «mode de conception» peut être désactivé en cliquant sur «Mode de conception».
- Lors de la création d’une zone de liste sur un UserForm, cliquez sur «Visual Basic» ou appuyez sur Alt + F11.
Articles recommandés
Cela a été un guide pour List Box dans Excel VBA. Nous expliquons ici comment créer une zone de liste dans une feuille de calcul Excel et sur UserForms, ainsi que des exemples pratiques et des modèles téléchargeables. Vous pouvez également consulter ces fonctions utiles dans Excel –