Supprimer les champs vides dans ComboBox

Bonjour,

Je suis actuellement entrain de faire un petit projet et je rencontre un problème.

Je me suis fait une petite base de donnée qui est divisé en deux feuilles excel ("BDD_Immobilier" et "BDD_Energétique").

J'utilise une userform avec 2combobox:

A l'aide de la 1ère combobox, je choisi si je veux utiliser la feuille "BDD_Immo..." ou "BDD_Ener...".

J'utilise ensuite la deuxième combobox pour sélection le matériel de ma BDD, je renvoi le texte contenu dans cette combobox à l'aide d'un bouton.

Pour le moment j'ai structuré mon programme de là manière suivante :

Private Sub UserForm_Initialize()

ComboBox1.AddItem ("Immobilier")
ComboBox1.AddItem ("Energétique")

End Sub
Private Sub ComboBox1_Change()

If ComboBox1.Text = "Immobilier" Then

ComboBox2.RowSource = "BDD_Immobilier!a2:a36"

End If
If ComboBox1.Text = "Energétique" Then

ComboBox2.RowSource = "BDD_Energétique!a2:a36"

End If
End Sub

Sub CommandButton1_Click()

    ActiveCell.Value = ComboBox2.Text
    Unload UserForm1
End Sub

Le problème c'est que je suis borné pour remplir mes combobox, si je rajoute un élément dans ma liste, je dois modifier tout mon programme. Et je sélection toute la colonne "A" pour mes combobox, je me retrouve avant des milliers de blanc.

Voilà, si quelqu'un avait une petite solution cela m'arrangerait.

Merci d'avance et bonne journée

Bonjour vodkaddict,

Il y a plusieurs façons de remplir une combobox. En voici notamment une qui peut répondre à ta question. Remplace le ComboBox1_Change par celui-ci :

Private Sub ComboBox1_Change()
Dim feuil As String, temp
feuil = ComboBox1.Text
temp = Sheets("BDD_" & feuil).Range("a2:a" & Sheets("BDD_" & feuil).Range("a" & Rows.Count).End(xlUp).Row).Value
ComboBox2.List = temp
End Sub

Merci pour la réponse rapide

Rechercher des sujets similaires à "supprimer champs vides combobox"