XL 2010 VBA - Listbox critère

sand13

XLDnaute Occasionnel
Bonjour à tous,

J'ai une petite matrice où j'ai en colonne des tâches à effectuer et en ligne les personnes qui peuvent le faire (symbolisé par un "x" à la croisée de la personne et de la tâche).

Dans un UserForm, j'ai une listbox qui me donne la liste des personnes.

Je souhaiterai que dans une deuxième listbox apparaisse la liste des tâches que cette personne est habilitée à exécuter.

Auriez-vous des pistes à me proposer ?

D'avance merci !
 

Pièces jointes

  • test.xlsm
    16 KB · Affichages: 5

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Sand, bonjour le forum,

Désolé mais j'ai complètement modifié ton fichier... Si ça convient pas tu jettes !... Ça se passe dans l'onglet Feuil2...
Le code :

VB:
Private O As Worksheet 'déclare la variable O (Onglet)
Private TV As Variant 'déclare la variable TV (Tableau des Valeurs)

Private Sub UserForm_initialize() 'à l'initialisation de l'UserForm
Set O = Worksheets("Feuil2") 'définit l'onglet O
TV = O.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
Me.ComboBox1.List = O.Range("A2:A" & O.Cells(Application.Rows.Count, "A").End(xlUp).Row).Value 'alimente la ComboBox1
End Sub

Private Sub ComboBox1_Change() 'au changement dans la ComboBox1
Me.ListBox2.Clear 'vide la ListBox2
For I = 2 To UBound(TV, 1) 'boucle 1 : sur toutes les lignes I du tbaleau des valeurs TV (en partant de la seconde)
    If TV(I, 1) = Me.ComboBox1.Value Then
        For J = 2 To UBound(TV, 2) 'boucle 2 : sur toutes les colonnes J du tbaleau des valeurs TV (en partant de la seconde)
            'si la donnée ligne I colonne J de TV (convertie en majuscule) est égale à "X", ajoute la donnée ligne 1 colonne J à la ListBox1
            If UCase(TV(I, J)) = "X" Then Me.ListBox2.AddItem TV(1, J)
        Next J 'prochaine colonne de la boucle 2
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle 1
End Sub

Le fichier :
 

Pièces jointes

  • Sand_ED_v01.xlsm
    16.1 KB · Affichages: 20

Discussions similaires

Réponses
25
Affichages
653

Statistiques des forums

Discussions
312 198
Messages
2 086 146
Membres
103 130
dernier inscrit
FRCRUNGR