Incrémenter listbox par le haut
Bonjour,
J'ai mis en place un userform pour la gestion d'une blanchisserie en ESAT.
J'aurai aimé avoir un affichage de la listbox par le haut.
J'ai vu que cela serait possible, mais je sèche...
J'aimerai conserver l'incrémentation dans ma BBD vers le bas et pour autant avoir un visuel par le haut? Est ce que c'est possible ?
Merci pour vos idées.
Leakim
Salut,
Bon ma question devait être mal posée?
Et à force de chercher on fini toujours par trouver
J'ai trouvé une idée toute simple de faire un tri d'affichage de la listbox ! Et oui c'est souvent simple comme bonjour.
Grace aux nombreux sujets du forum, j'ai fini par trouver une méthode que j'ai inclus dans mon code.
Merci eriiic !
Private Sub afficher_listbox()
Dim l As Long
Dim c As Integer
Dim i1 As Integer, i2 As Integer
With Sheets("PoidsLavageJOUR") ' liste progression journée
On Error Resume Next
i1 = Application.Match(CStr(Date), .UsedRange.Columns("A").Value, 0)
If i1 > 0 Then
i2 = .Cells(.Rows.Count, "D").End(xlUp).Row
Set lignes_listbox = Range(.Cells(i1, "A"), .Cells(i2, "L"))
With Me.ListBox1 'avec la listBox
'On y colle le tablo
.List = lignes_listbox.Value
For l = 0 To Me.ListBox1.ListCount - 1 'pour chaque ligne de la listBox
For c = 1 To 12 'pour chaque Colonne de la listBox
Select Case c 'on va regardé le numero de Colonne
Case 1 'si égal à 4
.List(l, c) = Format(.List(l, c), "hh:mm")
End Select
Next c 'autre colonne
Next l 'autre Ligne
.ListIndex = -1
End With
End If
End With
'**************eriiic***************tri xlAscending/xlDescending
Dim nblig As Long
' Application.ScreenUpdating = False
nblig = UsFAct.ListBox1.ListCount
Sheets.Add.Name = "tmp"
[A1].Resize(nblig, 8) = UsFAct.ListBox1.List
[A1].Resize(nblig, 8).Sort Key1:=Range("B2"), Order1:=xlDescending, _
Key2:=Range("A2"), Order2:=xlAscending, Header:=xlNo
UsFAct.ListBox1.List = [A1].Resize(nblig, 8).Value
For l = 0 To Me.ListBox1.ListCount - 1 'MFC format horaire pour chaque ligne de la listBox
For c = 1 To 8 'pour chaque Colonne de la listBox
Select Case c 'on va regardé le numero de Colonne
Case 1 'si égal à 1
Me.ListBox1.List(l, c) = Format(Me.ListBox1.List(l, c), "hh:mm")
End Select
Next c 'autre colonne
Next l 'autre Ligne
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Me.Labelmachine.caption = Me.ListBox1.ListCount
Me.TextBoxSum.Value = Application.Sum(Application.index(Me.ListBox1.List, , 6)) + Application.Sum(Application.index(Me.ListBox1.List, , 7))
End Sub