[RESOLU]Affichage dans listbox

Chris24

XLDnaute Impliqué
Bonsoir

Je fais appel aux spécialistes des formulaires et VBA

J’ai un petit souci avec l’affichage dans une listbox avec trois colonnes, s’il n’y a qu’une ligne de données dans la base, les items de cette ligne s’affichent les uns sous les autres et non sur la même ligne dans la listbox.

Un exemple dans le fichier joint

Merci
 

Pièces jointes

  • Classeur1.xlsm
    24.3 KB · Affichages: 42

PMO2

XLDnaute Accro
Bonjour,

Peut être en remplaçant le code de la Sub AlimGesClient par celui-ci :
Code:
Sub AlimGesClient()
Dim myVarTab As Variant
'---
ListClient.Clear
myVarTab = Sheets("Feuil1").Range("A2:C" & Sheets("Feuil1").[A65000].End(xlUp).Row).Value
Me.ListClient.List = myVarTab
End Sub
 

Chris24

XLDnaute Impliqué
@herve62 Cette solution fonctinne mais accroche les items dans une colonne, pour la suite de mon application je récupère l'item de la première colonne de la listbox. cette solution n'est pas sadaptée pour mon cas. Je la classe tout de même dans mas base de connaissance. Merci
@PMO2 C'est exactement la solution qu'il me faut. Merci

Bonne soirée
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Bonsoir,

S'il y a des lignes vides à éliminer ou pas de ligne dans la BD

Code:
Sub AlimGesClient()
  Set d = CreateObject("Scripting.Dictionary")
  a = Sheets("Feuil1").Range("A2:C" & Sheets("Feuil1").[A65000].End(xlUp).Row).Value
  For i = LBound(a) To UBound(a)
  If a(i, 1) <> "" Then d(i) = Array(a(i, 1), a(i, 2), a(i, 3))
  Next i
  n = d.Count
  If n > 0 Then
  Dim Tbl: Tbl = Application.Transpose(d.items)
  ReDim Preserve Tbl(1 To 3, 1 To n + 1)
  Me.ListClient.List = Application.Transpose(Tbl)
  Me.ListClient.RemoveItem n
  End If
End Sub

JB
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 090
Messages
2 085 210
Membres
102 820
dernier inscrit
SIEG68