Bonjour à tous,
Voilà, j'ai un petit problème que je n'arrive pas à résoudre, malgré un début de programme...
Situation :
Je réalise un classeur possèdant une fiche et plusieurs autres feuilles avec noms et données variables.
Cette fiche comporte 2 ComboBox : la première (ComboBox1) permet de sélectionner un nom parmis les feuilles. La seconde ComboBox2 doit compter le nombre de ligne dans la colonne C et afficher le contenu des cellules en fonction du nombre de ligne calculée.
De plus il faut que la ComboBox2 aille chercher les informations dans la feuille renseignée par la ComboBox1
Exemple :
La feuille M.XXX comporte 3 lignes pleines ("a", "b", "c") dans la colonne C.
La feuille M.YYY comporte 2 lignes pleines ("d", "e") dans la colonne C.
Je choisis M.XXX dans la ComboBox1.
La ComboBox2 me génère automatiquement la liste comportant les lettres "a", "b" et "c".
A contrario, si je sélectionne M.YYY dans la ComboBox1, la ComboBox2 me renverra désormais "d" et "e".
Programme :
Voici le programme de la ComboBox1 (marche sans problèmes) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub ComboBox1_DropButtonClick() Dim temp() For i = 3 To Sheets.Count ReDim Preserve temp(3 To i) temp(i) = Sheets(i).Name Next i n = UBound(temp) Me.ComboBox1.List = temp End Sub
Début de programme de la ComboBox2 (qui ne me renvoie que la dernière ligne et ne fais pas appel à la référence de la ComboBox1) :
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 Private Sub ComboBox2_DropButtonClick() Dim temp2() For i = 5 To Cells(Rows.Count, 3).End(xlUp).Row ReDim Preserve temp2(5 To i) temp2(i) = Cells(Cells(Rows.Count, 3).End(xlUp).Row, 3).Value Next i n = UBound(temp2) Me.ComboBox2.List = temp2 End Sub
Je reste à disposition si vous avez des questions et je vous remercie du temps que vous consacrez à des galériens comme moi =)
Bonne journée et à bientôt !
Partager