Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Alignement colonnes dans listbox

1 réponse
Avatar
Fredou
Bonjour

Dans une listbox à 2 colonnes, est-il possible d'aligner la première colonne
à gauche, et la deuxième à droite ?

Merci pour vos lumières

1 réponse

Avatar
Hervé
Bonjour Fredou,

Un petit exemple en utilisant des espaces pour remplir la seconde colonne
qui sont ensuite retranchés sur la droite pour insérer la valeur désirée.
Pour l'exemple le nombre d'espaces est de 20, il est bien évident que la
valeur la plus grande doit être inférieure ou égale à ce nombre. Dans le cas
contraire, tu peux faire une boucle préalable sur toutes tes valeurs pour
connaître la plus grande et ensuite, adapter le nombre d'espaces en
conséquence.

Private Sub CommandButton1_Click()

Dim Selectionner As Boolean
Dim I As Integer

Selectionner = False

With Me.ListBox1
For I = 0 To .ListCount
If .Selected(I) = True Then
Selectionner = True
Exit For
End If
Next
End With

If Selectionner = True Then
With Me.ListBox1
'1ère colonne
MsgBox .Column(0)
'2ème colonne
MsgBox Trim(.Column(1))
End With
Else
MsgBox "Vous devez effectuer une sélection !"
End If

End Sub

Private Sub UserForm_Initialize()

Dim Texte As String

With Me.ListBox1
'sur 2 colonnes
.ColumnCount = 2
'défini les largeurs
.ColumnWidths = "45;40"
'rempli la 1ère
.AddItem "Element 1"
.AddItem "Element 2"
.AddItem "Element 3"
.AddItem "Element 4"
'rempli la 2ème en définissant un nombre
'de 20 espaces auquels sont déduit les
'caractères voulus. A adapter ici !!!
Texte = 1
Texte = Space(20 - (Len(Texte) * 2)) & Texte
.Column(1, 0) = Texte
Texte = 20
Texte = Space(20 - (Len(Texte) * 2)) & Texte
.Column(1, 1) = Texte
Texte = 300
Texte = Space(20 - (Len(Texte) * 2)) & Texte
.Column(1, 2) = Texte
Texte = 4000
Texte = Space(20 - (Len(Texte) * 2)) & Texte
.Column(1, 3) = Texte
End With

End Sub


Hervé.



"Fredou" a écrit dans le message de news:
e1%
Bonjour

Dans une listbox à 2 colonnes, est-il possible d'aligner la première
colonne à gauche, et la deuxième à droite ?

Merci pour vos lumières