Format heure dans une listbox
Bonjour à toutes et tous,
J'ai longuement parcouru différents forums mais reste bloqué sur un soucis d'affichage d'heure dans une listbox.
J'utilise l'excellent code de M Boisgontier ci-joint, souhaite afficher certaines colonnes avec des horaires hh:mm:ss mais n'arrive pas à ajouter cette notion de format selon certaines colonnes.
J'imagine que la partie concernée est celle-ci :
Sub Affiche()
Dim Tbl()
cbx1 = Me.ComboBox1: cbx2 = Me.ComboBox2: cbx3 = Me.ComboBox3: cbx4 = Me.ComboBox4: cbx5 = Me.ComboBox5
n = 0
Cb = Array(1, 1, 1, 1, 1)
For i = 0 To UBound(ColCombo): Cb(i) = ColCombo(i): Next i
For i = 1 To UBound(TabBD)
If TabBD(i, Cb(0)) Like cbx1 And TabBD(i, Cb(1)) Like cbx2 _
And TabBD(i, Cb(2)) Like cbx3 And TabBD(i, Cb(3)) Like cbx4 And TabBD(i, Cb(4)) Like cbx5 Then
n = n + 1: ReDim Preserve Tbl(1 To NcolVisu + 1, 1 To n)
c = 0
For Each K In colVisu: c = c + 1: Tbl(c, n) = TabBD(i, K): Next K
Tbl(6, n) = Format(TabBD(i, 6))
Tbl(c + 1, n) = TabBD(i, NcolBD)
End If
Next i
If n > 0 Then
Me.ListBox1.Column = Tbl
Else
Me.ListBox1.Clear
End If
End SubUne idée ?
Un immense merci par avance pour votre aide et une toute belle journée
Bien cordialement
Arnaud
Bonjour
Est ce que ça repond à ton soucis
A+ François
Bonjour,
Il faut agrandir la colonne "F" (TPS) car la macro se base sur la largeur des colonnes pour dimensionner les titres de colonnes et modifier les 2 formats "hh:mm" en "hh:mm:ss" dans le code (affichage initial + affichage sur filtrage).
Cdlt
Bonjour fanfan38, Bonjour Cylfo,
Au top, un immense merci à tous les 2 !!!
Sub Affiche()
Dim Tbl()
cbx1 = Me.ComboBox1: cbx2 = Me.ComboBox2: cbx3 = Me.ComboBox3: cbx4 = Me.ComboBox4: cbx5 = Me.ComboBox5
n = 0
Cb = Array(1, 1, 1, 1, 1)
For i = 0 To UBound(ColCombo): Cb(i) = ColCombo(i): Next i
For i = 1 To UBound(TabBD)
If TabBD(i, Cb(0)) Like cbx1 And TabBD(i, Cb(1)) Like cbx2 _
And TabBD(i, Cb(2)) Like cbx3 And TabBD(i, Cb(3)) Like cbx4 And TabBD(i, Cb(4)) Like cbx5 Then
n = n + 1: ReDim Preserve Tbl(1 To NcolVisu + 1, 1 To n)
c = 0
For Each K In colVisu: c = c + 1: Tbl(c, n) = TabBD(i, K): Next K
'format colonnes : 1er chiffre = position listbox // 2e = position tableau excel
Tbl(3, n) = Format(TabBD(i, 9), "hh:mm:ss")
Tbl(4, n) = Format(TabBD(i, 10), "hh:mm:ss")
Tbl(5, n) = Format(TabBD(i, 11), "hh:mm:ss")
Tbl(6, n) = Format(TabBD(i, 12), "hh:mm:ss")
Tbl(7, n) = Format(TabBD(i, 13), "hh:mm:ss")
Tbl(8, n) = Format(TabBD(i, 14), "hh:mm:ss")
Tbl(9, n) = Format(TabBD(i, 15), "hh:mm:ss")
Tbl(10, n) = Format(TabBD(i, 16), "hh:mm:ss")
Tbl(11, n) = Format(TabBD(i, 8), "hh:mm:ss")
Tbl(12, n) = Format(TabBD(i, 20), "hh:mm:ss")
End If
Next i
If n > 0 Then
Me.ListBox1.Column = Tbl
Else
Me.ListBox1.Clear
End If
End SubRésolu, encore une très belle après-midi
Arnaud