Simplifier un code qui se répète
Bonjour à tous!
Je débute en VBA et je cherche à simplifier un code qui remplit une combobox en fonction d'une autre:
Code:
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 |
Ce code se répète une soixantaine de fois.
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! :D
Aurel ++