Passer au contenu principal

Comment créer des zones de liste dynamiques en cascade dans Excel?

Vous savez peut-être comment créer une liste déroulante de validation en cascade dans Excel. Cependant, comment créer des zones de liste en cascade dynamiques dans Excel? Cet article présente une méthode VBA pour le faire descendre.

Créer des zones de liste en cascade dynamiques avec du code VBA


Créer des zones de liste en cascade dynamiques avec du code VBA

Comme illustré ci-dessous, vous devez créer une zone de liste parent contenant les valeurs uniques de la colonne Boisson et afficher toutes les valeurs correspondantes dans la deuxième zone de liste en fonction de la sélection dans la zone de liste parent. Le code VBA suivant vous aide à y parvenir. Veuillez faire comme suit.

1. Tout d'abord, vous devez extraire toutes les valeurs uniques de la colonne Drink. Sélectionnez une cellule vide, entrez une formule matricielle =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") into the Barre de formule, puis appuyez sur Ctrl + Shift + Entrer clé. Faites ensuite glisser le Poignée de remplissage pour obtenir toutes les valeurs uniques. Voir la capture d'écran:

Notes: Dans la formule, $A$2:$A$11 est la plage à partir de laquelle vous extrairez les valeurs uniques. J1 est la cellule au-dessus où se trouve votre formule.

Conseil : Si la formule est trop difficile à retenir et à manipuler, le Sélectionnez les cellules dupliquées et uniques utilité de Kutools for Excel sera un bon choix pour extraire rapidement toutes les valeurs uniques d'une colonne.

Veuillez sélectionner la colonne contenant les valeurs uniques dont vous allez extraire. Puis activez l'utilitaire en cliquant sur Kutools > Sélectionnez > Sélectionnez les cellules dupliquées et uniques. Dans le Sélectionnez les cellules dupliquées et uniques boîte de dialogue, sélectionnez le Tous uniques (y compris les premiers doublons) option et cliquez sur le OK bouton. Ensuite, toutes les valeurs uniques sont sélectionnées dans la colonne. Veuillez les copier et les coller dans un nouvel emplacement. Voir la capture d'écran:

Kutools for Excel: avec plus de 200 compléments Excel pratiques, essai gratuit sans limitation dans 60 jours. Téléchargez et essayez gratuitement maintenant!

2. Insérez deux zones de liste séparément en cliquant sur Développeur > insérer > Zone de liste (contrôle ActiveX). Voir la capture d'écran:

3. Cliquez avec le bouton droit sur la zone de liste parent et sélectionnez biens dans le menu contextuel. dans le biens boîte de dialogue, modifiez le (Nom) champ à Boire ou tout autre nom selon vos besoins, entrez la plage de cellules contenant les valeurs uniques extraites dans le ListRemplirPlage et fermez la boîte de dialogue.

4. Répétez l'étape 3 pour modifier la deuxième zone de liste (Nom) champ à Item dans le biens boite de dialogue.

5. Cliquez avec le bouton droit sur l'onglet de la feuille et sélectionnez Voir le code dans le menu contextuel. Copiez ensuite le code VBA ci-dessous dans la fenêtre Code. Voir la capture d'écran:

Code VBA: créer des zones de liste dynamiques en cascade dans Excel

Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
    Dim I, xRows As Long
    Dim xRg As Range
    Dim xRegStr As String
    Application.ScreenUpdating = False
    xRegStr = Me.Drink.Text
    Set xRg = Range("A2:A11")
    xRows = xRg.Rows.Count
    If xRegStr <> xPreStr Then
    Me.Item.Clear
   'Me.OtherListBoxName.Clear
    Set xRg = xRg(1)
    For I = 1 To xRows
        If xRg.Offset(I - 1).Value = xRegStr Then
            Me.Item.AddItem xRg.Offset(I - 1, 1).Value
            'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
        End If
    Next
    xPreStr = xRegStr
    End If
    Application.ScreenUpdating = True
End Sub

Notes: Dans le code Drink et Item sont les noms de deux list box, changez-les en vos propres noms.

6. appuie sur le autre + Q touches pour fermer le Microsoft Visual Basic pour applications fenêtre.

7. Désactivez le mode de conception en cliquant sur Développeur > Mode de conception.

À partir de maintenant, lors de la sélection de tout type de boisson comme le café dans la liste des parents, tous les articles de café seront affichés dans le second. Sélectionnez Thé ou Vin affichera uniquement les articles de thé ou de vin dans la deuxième zone de liste. Voir la capture d'écran:


Articles Liés:

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...

Description


Office Tab apporte une interface à onglets à Office et facilite grandement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi

What does "Me" refer to in the code and how will the code change if I have a MultiSelect list box?

Regards
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations