Combobox : ne pas afficher cellule vide

Résolu/Fermé
linette44 Messages postés 23 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 20 mai 2008 - 12 mai 2008 à 16:28
 Ghostk - 26 févr. 2016 à 16:03
Bonjour,
J'ai créé une combobox avec une rowsource renseignée : liste!B2:B399.
Certaines cellules de la plage de la feuille liste ne sont pas renseignées (vide). Dans mon combobox, les vides apparaissent donc entre certaines valeurs.
Est-il possible de ne pas faire apparaître les cellules vides dans la Combobox ?
Merci d'avance de votre réponse
Cordialement
Linette

1 réponse

linette44 Messages postés 23 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 20 mai 2008 3
18 mai 2008 à 19:04
Bonjour,
Je cherche toujours une solution.
J'ai compris que si je choisis de renseigner la liste dans ROWSOURCE, je ne peux rien faire.
J'ai donc trouver un code (voir ci-dessous) que j'ai saisi qui me permets de renseigner la liste déroulante de ma combobox mais je n'ai pas trouvé comment supprimer les lignes vides de ma liste déroulante.

Private Sub UserForm_Initialize()
With Sheets("Liste")
ComboBox4.List = .Range("b2:b" & .Range("A65536").End(xlUp).Row).Value
End With
End Sub

Quelqu'un a-t-il une solution ?

Linette
3
linette44 Messages postés 23 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 20 mai 2008 3
20 mai 2008 à 21:17
Pour les personnes intéressées, voici un code qui fonctionne parfaitement

Private Sub UserForm_Initialize()
Dim lf As Long 'déclare la variable lf (Ligne de Fin)
Sheets("Liste").Select
lf = Range("B65536").End(xlUp).Row 'définit la variable lf
ComboBox4.Clear 'vide la ComboBox1
'remplit la ComboBox4
For Each cel In Range("B2:B" & lf) 'boucle sur toutes les cellule de A1 à A_lf
'condition : si la cellule n'est pas vide ajoute son contenu à la ComboBox1
If cel.Value <> "" Then ComboBox4.AddItem cel.Value
Next cel 'prochaine cellule
End Sub
0
Ce code m'a bien servi, il marche parfaitement : Merci !

GK
0