Bonjour à tous,

Je suis bloqué sur un problème qui je pense n'est pas très compliqué pour des habitués de VBA mais pour lequel je n'ai pas réussi à trouvé la solution avec une recherche.

J'ai deux Comboboxes et souhaite afficher certaines options sur la 2ème lorsque qu'un choix est fait sur la première.

Voici mon code :

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
Private Sub UserForm_Initialize()
 
ComboBox_Rack.AddItem "1.1"
ComboBox_Rack.AddItem "1.2"
ComboBox_Rack.AddItem "2.1"
ComboBox_Rack.AddItem "2.2"
 
End Sub
 
Private Sub ComboBox_Rack_Change()
 
'En fonction du rack selectionné, permet le choix de la colonne
If ComboBox_Rack.ListIndex = 0 Or 1 Then
    ComboBox_Colonne.Enabled = True
    ComboBox_Colonne.AddItem "1"
    ComboBox_Colonne.AddItem "2"
    ComboBox_Colonne.AddItem "3"
    ComboBox_Colonne.AddItem "4"
    ComboBox_Colonne.AddItem "5"
    ComboBox_Colonne.AddItem "6"
    ComboBox_Colonne.AddItem "7"
    ComboBox_Colonne.AddItem "8"
    ComboBox_Colonne.AddItem "9"
End If
 
If ComboBox_Rack.ListIndex = 2 Or 3 Then
    ComboBox_Colonne.Enabled = True
    ComboBox_Colonne.AddItem "1"
    ComboBox_Colonne.AddItem "2"
    ComboBox_Colonne.AddItem "3"
    ComboBox_Colonne.AddItem "4"
    ComboBox_Colonne.AddItem "5"
 
End If
 
End Sub
BUT : Si l'utilisateur sélectionne par exemple "2.1" dans la première Combobox (_Rack), alors permettre de choisir dans la deuxième uniquement de 1 à 5.

PROBLEME : En sélectionnant "1.2" sont proposés : 1,2,3,4,5,6,7,8,9 puis de nouveau 1,2,3,4,5 ce qui signifie que mes tests IF sont considérés comme tous deux vérifiés alors que ComboBox_Rack.ListIndex = 2

Quelqu'un peut-il svp me débloquer en m'expliquant pourquoi ce résultat actuel ?

Quentin