bonjour tegu,
exemple simplifé :
Concernant le programme, pour tester j'ai créé une userform avec 2 combobox (combobox1 et 2)
Je commence par un sub de lancement dans un module:
Public Sub demarrage()
Worksheets("Feuil1" ).Select
ActiveSheet.AutoFilterMode = False
remplissage_combobox
End Sub
Puis j'ai encore un sub qui (si c'est possible) me servira de seul sub pour remplir toute mes combobox selon des conditions (d'où la nécessité d'avoir des variables à la place de mes combobox) :
Public Sub remplissage_combobox()
Dim Cell As Range
Dim Unique As New Collection
Dim Valeur As Range
Dim i As Integer
i = Range("A65536" ).End(xlUp).Row
On Error Resume Next
For Each Cell In Range("A1:A" & i)
If Not Cell.EntireRow.Hidden Then Unique.Add Cell, CStr(Cell)
Next Cell
On Error GoTo 0
For Each Valeur In Unique
UserForm1.ComboBox1.AddItem Valeur
Next Valeur
UserForm1.Show
End Sub
Ceci est la 1ère condition quand je démarre mon programme, à savoir remplissage de la combobox1.
Maintenant je voudrais que dans la userform, si je change la valeur de la combobox1, cela me relance le code précédent mais avec le remplissage de ma combobox2 (avec les données de la colonne B).
Ceci afin de centraliser un programme qui me remplisse les combobox.
j'espère que c'est un peu plus explicite. J'ai essayé pas mal de tournure de code mais j'avoue qu'à force je sait plus où j'en suis.
Je suis preneur de toute aide, même d'une âme charitable qui me donnerait un chemin directeur.
houba
Message édité par houba7777 le 15-01-2009 à 11:13:41