Début alimentation ListBox

Bonjour à tous,

J'ai un petit bug très gênant que je n'arrive pas à résoudre.

Voici ce que je souhaite faire :

Afficher dans une ListBox d'un UserForm les noms contenus dans la plage de cellules "Cells(2, 9)" à "Cells(Application.Rows.Count, 9).End(xlUp)" de la feuille "Result", c'est à dire de la cellule I2 à Ixx

Cette plage de cellule est variable et est alimentée par une série de calcul.

Jusque là, j'y arrive, et ça fonctionne bien.

Mais le problème c'est lorsqu'il y a 1 seul nom dans cette plage = BUGGG !

Je me creuse la tête depuis un moment sans trouver

Est-ce que quelqu'un aurait une solution ?

Je joins un fichier de test pour visualiser le code.

En attendant vos réponses, je vous souhaites à tous un joyeux noël.

Merci d'avance

20testseb-v1.xlsm (19.17 Ko)

Bonjour et Joyeuses Fêtes de Noël

A tester

Private Sub UserForm_Initialize()
Set A = Worksheets("Affichage") 'définit l'onglet A
Set D = Worksheets("Data") 'définit l'onglet D
Set R = Worksheets("Result") 'définit l'onglet R

Dim TV3 As Variant 'définit la variable TV3 (Tableau des Valeurs n°3)

With R 'on travaille avec l'Onglet R

    If R.Cells(Application.Rows.Count, 9).End(xlDown) = 2 Then
        TV3 = R.cell(2, 9)
        Else
        TV3 = R.Range(R.Cells(2, 9), R.Cells(Application.Rows.Count, 9).End(xlDown))
    End If

'TV3 = R.Range(R.Cells(2, 9), R.Cells(Application.Rows.Count, 9).End(xlUp)) 'définit le tableau des valeurs TV3
Evaluation5.ListBox2.List = TV3 'alimente la Listbox2 avec le tableau TV3
Evaluation5.ListBox2.ListIndex = 0 'sélectionne le premier élément de la ListBox2
Label4.Caption = R.Range("I1").Value
End With

End Sub

Leakim

Super, ça fonctionne

La solution était tellement simple que je n'y avais même pas pensé.

Merci beaucoup.

Rechercher des sujets similaires à "debut alimentation listbox"