Bonjour à tous.
Alors, je bloque depuis quelques jours sur le parcours d'une zone de liste à sélection multiple.
J'explique : je veux que quand je sélectionne une ligne d'une zone de liste, les lignes correspondantes à l'enregistrement sélectionné soient sélectionnéées dans une autre zone de liste.
Dans ma première zone de liste (à sélection unique), ma clé primaire est dans la colonne 0 et dans ma deuxième zone de liste (à sé lection multiple), ma clé primaire est en colonne 1. En fait, à un enregistrement de ma première zone de liste, correspondent un ou plusieurs enregistrements de ma deuxième zone de liste. Ce sont ces derniers qui doivent être sélectionnés sur click de ma première zone de liste.
J'espère avoir été clair
Donc mon raisonnement a été de parcourir la première zone de liste, pour savoir l'identifiant de quelle ligne était sélectionnée, puis de parcourir la seconde zone de liste et de sélectionner la ou les lignes correspondantes à l'identifant récupéré lors du premier parcours.
Raisonnement peut-être compliqué, mais c'est tout ce à quoi je suis abouti après beaucoup beaucoup de tests avec différentes méthodes :
Alors j'ai testé avec ListIndex, mais aussi avec Column(0,ligneEnCours), mais rien n'y fait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 'on parcourt la première zone de liste Dim strChamps As String Dim entCurrLigne As Variant Dim numNote As Integer For Each entCurrLigne In Me.lstNotes.ItemsSelected If Me.lstNotes.Selected(entCurrLigne) Then numNote = Me.lstNotes.ItemData(Me.lstNotes.ListIndex) End If Next entCurrLigne 'fin du test 'on parcourt la deuxième zone de liste Dim strChamps2 As String Dim entCurrLigne2 As Variant For Each entCurrLigne2 In Me.lstMotif.ItemsSelected If Me.lstMotif.ItemData(Me.lstNotes.ListIndex) = numNote Then Me.lstMotif.Selected(entCurrLigne2) = True End If Next entCurrLigne2 'fin du test
Je pense d'ailleurs qu'il y a des méthodes plus simple que parcourir les deux zones de liste.
Enfin, j'espère que qu'un pourra me dépanner![]()
Partager