Dernière ligne d'une Listbox ?

Bonsoir le forum,

Avec :

Private Sub UserForm_Initialize()
   ListBox1.List() = Sheets("Datas").Range("A2:A10").Value
End Sube

Je remplis ma ListBox.

Avec:

Private Sub CommandButton1_Click()
Dim nbitem As Integer
nbitem = Me.ListBox1.ListCount
MsgBox nbitem
End Sub

La MsgBox m'affiche "9"...

Normal, puisque le comptage se fait à partir de ("A2:A10") inclus.

Mais je n'ai que 5 Items dans ma ListBox...

Comment faire en sorte de ne pas compter les Items vides ?

Merci de m'éclairer sur le sujet...

Bonjour,

Ne serait-il pas plus utile de remplir la ListBox sans lignes vides ?

Comme ceci :

   For Each oCell In oSheet.Range("A2:A" & iDerLig)
      If oCell <> "" Then ListBox1.AddItem oCell.Value
   Next oCell

ric

Bonsoir ric,

Tu as certainement raison, je vais me garder sous le coude ta proposition très intéressante...

Mais comme je suis en train d'étudier les ListBox et ses propriétés, j'aimerais pour ma culture personnelle quand même savoir s'il est possible de faire ce que je souhaite dans mon post initial...

Merci pour ton aide...

Bonjour,

Dans ce cas là ...

Private Sub CommandButton1_Click()
Dim nbitem As Integer
   For x = 0 To ListBox1.ListCount - 1
      If ListBox1.List(x) <> "" Then nbitem = nbitem + 1
   Next x
   MsgBox nbitem
End Sub

ric

Bonsoir ric,

Merci, c'est parfais encore une fois...

Bonjour,

La même boucle ... au lieu de <> "" (différent de rien) peut être utilisée pour sélectionner certains items de la liste ... tel : =

If left(ListBox1.List(x), 8) = "Biscuits" Then ... ... (si le texte commence par Biscuits ... )

Ric

Rechercher des sujets similaires à "derniere ligne listbox"