Table des matières
Lorsque nous travaillons sur un grand ensemble de données, il est souvent difficile d'en extraire une valeur sélective. De plus, vous ne pouvez pas choisir plus de plusieurs éléments d'information simultanément. Dans ce cas, ListBox est une solution très utile dans Excel Mais le processus de création de cette ListBox C'est pourquoi, dans cet article, nous allons apprendre à créer une liste de sélection multiple. ListBox dans excel avec quelques étapes simples.
Télécharger le cahier d'exercices
Obtenez le fichier d'exemple pour vous entraîner.
Multi Select ListBox.xlsmProcédures pas à pas pour créer une liste de sélection multiple dans Excel
Pour faciliter le processus, nous l'avons divisé en plusieurs parties 8 Donc, sans plus attendre, passons aux étapes ci-dessous pour voir comment créer une liste de sélection multiple. ListBox dans Excel.
Étape 1 : Créer un tableau Excel à partir d'un ensemble de données
Dans un premier temps, nous devons préparer un jeu de données échantillon et le convertir en tableau. Pour ce faire, suivez les étapes ci-dessous.
- Tout d'abord, créez un ensemble de données avec les informations suivantes 10 noms de villes et leurs Population totale de la USA jusqu'à 1, juillet dans le Plage de cellules B5:C14 .
- Maintenant, cliquez sur n'importe quelle cellule de l'ensemble de données et choisissez Tableau de la Insérer onglet.
- Ensuite, vous verrez le Créer une table qui sélectionne automatiquement la plage de cellules pour créer un tableau.
- Dans cette fenêtre, cocher la case Mon tableau a des en-têtes et appuyez sur OK .
- En conséquence, vous verrez que l'ensemble de données est converti en un tableau.
- En même temps, vous pouvez trouver le tableau dans la rubrique Nom de la table sous l'onglet Conception de la table onglet
- Vous pouvez modifier le nom de la table en fonction de vos préférences.
Lire la suite : Comment créer une liste déroulante dépendante dans Excel ?
Étape 2 : Nommer la liste des ensembles de données à partir du gestionnaire de noms
Maintenant, nous allons nommer chaque catégorie de plage de cellules du tableau. Pour cela, suivez les étapes suivantes.
- Tout d'abord, sélectionnez n'importe quelle cellule dans Colonne B dans le tableau.
- Ensuite, allez dans le Formules et sélectionnez Définir le nom .
- Ensuite, vous verrez apparaître le Nouveau nom la boîte de dialogue.
- Dans cette boîte de dialogue, fournissez un nom selon l'en-tête de la colonne sélectionnée dans le champ Nom boîte.
- Ensuite, cliquez sur le Fait référence à dans la même fenêtre.
- Ensuite, placez le curseur sur l'en-tête et une flèche noire apparaîtra.
- Ensuite, appuyez sur le bouton gauche de la souris pour sélectionner l'élément de la liste. Plage de cellules B5:B14 .
- En conséquence, vous verrez la liste des noms ainsi que le nom de la table dans la fenêtre de l'écran. Fait référence à et appuyez sur OK .
- Suivez la même procédure, pour le Plage de cellules C5:C14 également.
- Enfin, vous verrez les noms dans le Boîte à noms dans le coin supérieur gauche du classeur.
Étape 3 : Créer une liste déroulante avec validation des données
À ce stade, nous allons créer une liste déroulante à partir des plages nommées, avec une validation des données. C'est la partie essentielle de la création d'un fichier de type ListBox Nous allons le créer dans une autre feuille de calcul du classeur, mais vous pouvez également le faire dans la même feuille de calcul. Voyons le processus ci-dessous.
- Au début, sélectionnez quelques cellules du tableau dans lesquelles vous voulez appliquer la méthode d'évaluation de la qualité de l'eau. Validation des données .
- Ensuite, allez dans le Données et choisissez Validation des données dans le Outils de données section.
- Ensuite, dans le Paramètres cliquez sur l'onglet Liste dans le Autoriser boîte.
- De plus, la marque a vérifié le Ignorer le blanc et Liste déroulante dans une cellule boîtes.
- Ensuite, cliquez sur le Source : dans cette fenêtre et appuyez sur F3 sur votre clavier.
- En conséquence, vous verrez le Nom de la pâte avec la liste des noms.
- Ici, choisissez Noms de villes de la liste et appuyez sur OK .
- Vous verrez alors le nom de la première liste s'afficher dans la boîte de la source.
- Enfin, appuyez sur OK et appliquer le même processus pour la deuxième liste de noms.
- Enfin, vous verrez que Validation des données est activé sur les cellules sélectionnées.
Étape 4 : Insérer le code VBA dans la feuille de calcul validée
Maintenant vient la partie cruciale de l'insertion VBA pour créer un ListBox Voici la procédure à suivre.
- Tout d'abord, cliquez avec le bouton droit de la souris sur la feuille de calcul validée et sélectionnez Afficher le code de la Menu contextuel .
- Ensuite, insérez ce code sur la page.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rngDV As Range Dim oldVal As String Dim newVal As String Dim strList As String On Error Resume Next Application.EnableEvents = False Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation) On Error GoTo exitHandler If rngDV Is Nothing Then GoTo exitHandler If Not Intersect(Target, rngDV) Is Nothing Then If Target.Validation.Type = 3Then strList = Target.Validation.Formula1 strList = Right(strList, Len(strList) - 1) strDVList = strList frmDVList.Show End If End If exitHandler : Application.EnableEvents = True End Sub
- Ensuite, allez dans le Insérer et sélectionnez Module .
- À ce stade, le nom du classeur doit être sélectionné dans le menu déroulant. Objet du projet fenêtre.
- Ensuite, renommez le module en modSettings et insérez ce code.
Option Explicit Global strDVList As String
Merci à Contextures pour avoir fourni les codes.
Étape 5 : Créer un formulaire utilisateur avec une boîte de liste et des boutons.
À ce stade, nous allons créer un Formulaire utilisateur pour le classeur ainsi qu'un ListBox et quelques Boutons de commande Pour ce faire, suivez la procédure ci-dessous.
- Tout d'abord, sélectionnez le classeur dans la fenêtre Projet-VBAProjet dans la fenêtre Visual Basic éditeur.
- Ensuite, allez dans le Insérer et sélectionnez Formulaire utilisateur .
- Par conséquent, vous obtiendrez le Formulaire utilisateur une interface comme celle-ci.
- En plus de cela, vous obtiendrez également Boîte à outils fenêtre.
- A partir de là, faites glisser ListBox à la Formulaire utilisateur .
- Ensuite, le ListBox Vous pouvez ajuster la taille en faisant glisser les bords de la boîte.
- Ensuite, faites glisser le CommanButton deux fois pour Formulaire utilisateur ainsi que pour créer 2 boutons pour l'opération.
- Enfin, le résultat final ressemble à ceci.
Étape 6 : Modifier les paramètres des propriétés
Dans cette étape, nous allons effectuer quelques changements dans les propriétés de chaque composant de l'application ListBox .
- Au début, appuyez sur F4 sur le Visual Basic pour ouvrir le Fenêtre des propriétés .
- Ensuite, sélectionnez le Formulaire utilisateur et changer le Nom et Légende comme ça.
- Ensuite, sélectionnez ListBox et changer le Nom selon vos préférences.
- De plus, changez le type de ListStyle , MultiSelect et Effet spécial comme dans l'image ci-dessous.
- Maintenant, choisissez le premier bouton de commande et apportez les modifications suivantes dans les propriétés.
- En plus de cela, modifiez également les propriétés du deuxième bouton de commande.
Étape 7 : Appliquer le code VBA au formulaire utilisateur
À ce stade, nous appliquerons VBA à chacun des composants de la Formulaire utilisateur Voyons comment ça marche.
- Tout d'abord, sélectionnez Formulaire utilisateur et aller à la Voir pour sélectionner Code .
- Ensuite, insérez ce code sur la page vierge. Il s'exécutera automatiquement lorsque la fonction Formulaire utilisateur est ouvert.
Private Sub UserForm_Initialize() Me.lstDV.RowSource = strDVList End Sub
- Après cela, retournez à la Formulaire utilisateur en cliquant sur Objet sur le Voir onglet.
- Maintenant, suivez la procédure pour insérer ce code pour le fichier OK bouton.
Private Sub cmdOK_Click() Dim strSelItems As String Dim lCountList As Long Dim strSep As String Dim strAdd As String Dim bDup As Boolean On Error Resume Next strSep = ", " With Me.lstDV For lCountList = 0 To .ListCount - 1 If .Selected(lCountList) Then strAdd = .List(lCountList) Else strAdd = "" End If strSelItems = "" Then strSelItems = strAdd Else If strAdd "" Then strSelItems = strSelItems_ & ; strSep & ; strAdd End If End If Next lCountList End With With ActiveCell If .Value "" Then .Value = ActiveCell.Value _ & ; strSep & ; strSelItems Else .Value = strSelItems End If End With Unload Me End Sub
- En même temps, tapez ce code pour le Fermer en utilisant le même processus.
Private Sub cmdClose_Click() Me décharger End Sub
- Enfin, appuyez sur Ctrl + S pour l'enregistrer et fermer la fenêtre.
Merci à Contextures pour avoir aidé avec les codes.
Étape 8 : Sélection multiple à partir de ListBox
Enfin, nous avons réussi à créer un ListBox pour les sélections multiples. Pour vérifier si le code fonctionne ou non, il suffit de suivre les étapes suivantes.
- Tout d'abord, sélectionnez Cellule B5 où nous avons appliqué Validation des données .
- Juste après ça, un ListBox apparaîtra et commandera Sélectionner un élément dans la liste .
- Dans cette fenêtre, choisissez plus d'un nom dans la liste.
- Ensuite, appuyez sur OK .
- Enfin, vous avez réussi à faire une multi-sélection à partir de la liste de l ListBox et chaque nom est séparé par un Virgule ( , ).
Les choses à retenir
- Plages nommées ne créera pas de Validation des données s'ils sont saisis comme une référence de cellule ou avec des délimiteurs.
- Le site Variable globale est appliqué pour les deux Formulaire utilisateur et Feuille de calcul VBA Tout nom de cellule actif passe initialement le code strDVList à une plage temporaire et est ensuite utilisé comme un RowSource pour le ListBox lorsqu'un utilisateur ouvre le Formulaire utilisateur .
- Vous pouvez combiner plusieurs plages dans un seul nom pour faciliter la sélection.
Conclusion
C'est tout pour aujourd'hui. J'espère que ces longues mais simples étapes sur comment créer une ListBox à sélection multiple en excel ont rendu le sujet un peu plus facile pour vous. Faites-nous part de vos réactions dans la boîte de commentaires. Suivez-nous. ExcelWIKI pour d'autres articles comme celui-ci.