Problème pour afficher les élements dans un combobox

  • Initiateur de la discussion Initiateur de la discussion Tryphon
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
247
Réponses
3
Affichages
196
Réponses
4
Affichages
184
Réponses
5
Affichages
185
Réponses
10
Affichages
282
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
490
Retour