Listbox en cascade

Bonjour à tous,

Je rencontre des difficultés pour la réalisation de deux listbox en cascade.

La première listbox est le choix d'un projet. Et en fonction du choix du projet devrait s'afficher la liste des tâches qui sont présentes pour ce projet.

Exemple :

Si l'utilisateur choisit le projet 4 dans la première listbox, il devrait se voir proposer les tâches suivantes dans la seconde listbox :

Tâche 2

Tâche 4

Tâche 6

Tâche 8

Je vous mets le fichier excel et vous trouverez le code que j'ai écrit mais qui ne fonctionne pas...

Merci à ceux qui prendront le temps de me répondre !

19essai.xlsm (23.36 Ko)

Après plusieurs essais j'ai pu voir que mon code VBA était correct mais j'ai du passer pas un bouton "valider" le projet pour voir apparaître les tâches. Comment faire pour que cela apparaisse dès la sélection du projet sans avoir besoin de rajouter un bouton valider ?

Je pense qu'il faut changer ce que j'ai encadré en rouge dans mon image, mais je ne sais pas quoi mettre...?

Merci !

essai

Bonjour

A voir

Private Sub ChoixProjet_Click()
Dim L As Integer
Dim Colonne As Integer
Dim M As Integer

L = ChoixProjet.ListIndex + 2

    With Sheets("Liste_Projets")
       Colonne = 16
       ListeTaches.Clear
       For M = 1 To 10
            If .Cells(L, Colonne) = "Oui" Then
                ListeTaches.AddItem .Cells(1, Colonne) '"T?che " & M
            End If
        Colonne = Colonne + 1
        Next M
    End With
End Sub

A+

Maurice

C'est parfait ! Merci pour ta réponse

Bonjour,

Private Sub ChoixProjet_Click()
    Dim Lst(), n%, k%, i%
    n = ChoixProjet.ListIndex + 1
    If n > 0 Then
        With [Tableau_Liste_Projets]
            For i = 16 To 25
                If .Cells(n, i) = "Oui" Then
                    ReDim Preserve Lst(k)
                    Lst(k) = .Cells(0, i): k = k + 1
                End If
            Next i
        End With
        If k > 1 Then
            ListeTaches.List = Lst
        ElseIf k > 0 Then
            ListeTaches.AddItem Lst(0)
        End If
    Else
        ListeTaches.Clear
    End If
End Sub

Cordialement.

Bonjour MFerrand,

Merci de m'avoir apporté une autre solution

Rechercher des sujets similaires à "listbox cascade"