Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème pour afficher les élements dans un combobox

Tryphon

XLDnaute Nouveau
Bonjour,

J'essaye depuis trois jours de faire un userform avec trois combobox. Le premier me permet de choisir la feuille du classeur, le second s'actualise en fonction du premier et doit me montrer la ligne 1 de la colonne B jusqu'à la fin. Le troisième s'actualise également à partir du choix de la feuille et doit me montrer la colonne A en enlevant de la liste les cellules vides de la colonne.

J'Y ARRIVE PAS .....

Je crois que RowSource n'aime pas que le range que je lui donne soit en ligne pour la deuxième combobox (du coup, j'ai que la cellule B1 comme choix dans la liste) et je ne sais pas comment faire pour skipper les blancs dans la troisième combobox. Du coup le range s'arrête à A2 au lieu de A234 car la troisième cellule est déjà vide.

Je vous fournit mon code :

Private Sub Investment_combobox_Change()
Dim Investment_combobox_Select As Integer
Investment_combobox_Select = Main_form.Investment_combobox.ListIndex + 2
Sheets(Investment_combobox_Select).Activate
Funds_combobox_Select = Range("B1").End(xlToRight).Address
Funds_combobox.RowSource = "B1:" & Funds_combobox_Select
Funds_combobox.ListIndex = 0
' Mise à jour Data_combobox
Sheets(Investment_combobox_Select).Activate
Data_combobox_Select = Range("A1").End(xlDown).Address
Data_combobox.RowSource = "A1:" & Data_combobox_Select
Data_combobox.ListIndex = 0
End Sub

Private Sub UserForm_Activate()
Dim Arr() As String
Dim I As Integer, NbSheets As Integer
Dim Liste As Object
' Suppression des entrées de la liste si celle-ci en contient
If Investment_combobox.ListCount >= 1 Then
Dim ElementListe As Integer
Dim NbreIt As Integer
NbreIt = Investment_combobox.ListCount - 1
For ElementListe = NbreIt To 0 Step -1
Investment_combobox.RemoveItem (ElementListe)
Next ElementListe
End If
' Ajout de toutes les entrées de la liste
NbSheets = Worksheets.Count
ReDim Arr(1 To NbSheets)
For I = 2 To NbSheets
Arr(I) = Worksheets(I).Name
Main_form.Investment_combobox.AddItem Arr(I)
Next I
Investment_combobox.ListIndex = 0
End Sub

Merci d'avance pour une solution.

Tryphon Ivanov
Ex-joueur de foot
 

Discussions similaires

Réponses
3
Affichages
246
Réponses
12
Affichages
408
Réponses
12
Affichages
416
Réponses
3
Affichages
265
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…