Bonjour à tous!
Je débute en VBA et je cherche à simplifier un code qui remplit une combobox en fonction d'une autre:
Ce code se répète une soixantaine de fois.
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 'Combobox9 en fonction de la 1 Private Sub ComboBox1_Change() Dim matériaux As Range Me.ComboBox9.Clear With Sheets("Bibliothèque") Set matériaux = .Columns(2).Find(Me.ComboBox1.Value) If Not matériaux Is Nothing Then For i = matériaux.Row To .Range("B65536").End(xlUp).Row If .Range("B" & i) = Me.ComboBox1.Value Or .Range("B" & i) = "" Then If .Range("C" & i) <> "" Then Me.ComboBox9.AddItem (.Range("C" & i).Value) End If Else Exit Sub End If Next i End If End With End Sub 'Combobox10 en fonction de la 2 Private Sub ComboBox2_Change() Dim matériaux As Range Me.ComboBox10.Clear With Sheets("Bibliothèque") Set matériaux = .Columns(2).Find(Me.ComboBox2.Value) If Not matériaux Is Nothing Then For i = matériaux.Row To .Range("B65536").End(xlUp).Row If .Range("B" & i) = Me.ComboBox2.Value Or .Range("B" & i) = "" Then If .Range("C" & i) <> "" Then Me.ComboBox10.AddItem (.Range("C" & i).Value) End If Else Exit Sub End If Next i End If End With End Sub
Y'a-t-il moyen de le généraliser pour une suite croissante de combobox de manière à faciliter la lecture et la saisie?
Merci d'avance!
Aurel ++
Partager