Bonjour à tous,
j'ai un problème avec une listbox récalcitrante.
Je cherche à la remplir avec des données qui viennent d'une feuille Excel.
Dans mon userform, j'ai plusieurs combobox, notamment une qui liste des noms de personne. La source est la même que celle de la listbox.
Je cherche a mettre à jour dynamiquement ma listbox en fonction de la valeur de la combobox. Il y a 5 colonnes à mettre à jour.
Quand je fais un test en séléctionnant le nom de la première personne qui est dans la feuille Excel, ma macro fonctionne, j'ai bien trois lignes (car il a trois entrées qui correspondent au nom de cette personne dans la feuille Excel) ainsi que les valeur des 5 colonnes suivantes.
Par contre, dès que je séléctionne un autre nom dans ma combobox, la mise à jour de ma listbox ne se fait que pour la 1ère colonne.
J'ai retourné le problème dans tous les sens, je n'ai pas encore réussi à comprendre d'où venait le problème. Intuitivement, je pense qu'il y a un soucis dès que l'on séléctionne le nom d'une personne qui n'est pas le premier dans la liste de la feuille Excel... Mais après...
Qu'en pensez vous ?
Voici mon code :
Qu'en pensez vous ?
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
23
24
25
26
27
28
29 Private Sub ComboBox1_Change() Dim Comptes As New Collection Dim id As Integer Dim n As Integer Application.ScreenUpdating = False Sheets("Database").Activate id = Sheets("Database").Range("A1000").End(xlUp).Row ListBox1.Clear On Error Resume Next For n = 4 To id If Sheets("database").Range("A" & n).Value = ComboBox1.Value Then ListBox1.AddItem Sheets("database").Range("W" & n).Value ListBox1.List(n - 4, 1) = Sheets("database").Range("F" & n).Value ListBox1.List(n - 4, 2) = Sheets("database").Range("J" & n).Value ListBox1.List(n - 4, 3) = Sheets("database").Range("L" & n).Value ListBox1.List(n - 4, 4) = Sheets("database").Range("V" & n).Value End If Next n Application.ScreenUpdating = True End Sub
Partager