Bonjour a vous, j'ai dans un userform une listbox que je veux renseigner afin de pouvoir faire de la multisélection. Le but étant de venir cacher toutes les lignes d'un tableau qui ne possède pas la valeur que je choisis dans la listbox. J'ai donc le code suivant mais hélas il ne fonctionne pas et je ne parviens pas a voir l'erreur. Auriez vous une idée?
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 Dim i As Long Dim lItem As Long With Sheet5 Columns("B:I").Hidden = Not CheckBox1.Value Columns("L:O").Hidden = Not CheckBox2.Value Columns("J:K").Hidden = Not CheckBox3.Value Columns("P").Hidden = Not CheckBox3.Value Columns("S").Hidden = Not CheckBox3.Value Columns("Q:R").Hidden = Not CheckBox5.Value Columns("Z:AA").Hidden = Not CheckBox4.Value Columns("T:U").Hidden = Not CheckBox4.Value Columns("V:Y").Hidden = Not CheckBox6.Value For i = 2 To 500 For lItem = 0 To UserForm2.LB_market.ListCount - 1 If UserForm2.LB_market.Selected(lItem) = True And .Range("B" & i).Value <> UserForm2.LB_market.List(lItem) Then Rows(i).Hidden = True UserForm2.LB_market.Selected(lItem) = False End If Next If (Sheet5.Cells(i, "v") <> ComboBox2.Value And ComboBox2.Value <> "") Or (Sheet5.Cells(i, "n") <> ComboBox3.Value And ComboBox3.Value <> "") Or (Sheet5.Cells(i, "l") <> ComboBox4.Value And ComboBox4.Value <> "") Then Sheet5.Rows(i).Hidden = True End If Next 'CheckBox1 = Unchecked 'CheckBox2 = Unchecked 'CheckBox3 = Unchecked 'CheckBox4 = Unchecked 'CheckBox5 = Unchecked 'CheckBox5 = Unchecked 'CheckBox6 = Unchecked 'ComboBox2.Value = Empty 'ComboBox3.Value = Empty 'ComboBox4.Value = Empty UserForm2.Hide End With
Le problème se situe à cette endroit làje précise qu'actuellement Excel ne me renvoie pas d'erreur mais il ne cache pour autant pas les lignes que je souhaite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 For i = 2 To 500 For lItem = 0 To UserForm2.LB_market.ListCount - 1 If UserForm2.LB_market.Selected(lItem) = True And .Range("B" & i).Value <> UserForm2.LB_market.List(lItem) Then Rows(i).Hidden = True UserForm2.LB_market.Selected(lItem) = False End If Next
merci de votre aide
Partager