Listbox avec format chiffres à 3 décimales
A
Bonjour à vous toutes et tous
J'ai un Userform de recherche avec listbox, et je souhaite que les colonnes 6 et 7 de ma listbox m'affichent les chiffres à 3 décimales.
A savoir que les colonnes 6 et 7 de ma table liée à la listbox sont bien-sur de format à 3 décimales 0.000
Merci par avance pour l'aide
ci-dessous les codes liés à mon UserForm
Private Sub UserForm_Initialize()
Set f = ActiveSheet
Set Rng = f.Range("A6:K" & f.[a65000].End(xlUp).Row)
Ncol = Rng.Columns.Count
Tbltmp = Rng.Value
For I = LBound(Tbltmp) To UBound(Tbltmp)
ReDim Preserve choix(1 To I)
For k = LBound(Tbltmp) To UBound(Tbltmp, 2)
choix(I) = choix(I) & Tbltmp(I, k) & " * "
Next k
Total = Total + Tbltmp(I, 6)
Total2 = Total2 + Tbltmp(I, 7)
Next I
Me.ListBox1.List = Rng.Value
Me.TextBox11 = Format(Total, "# ##0.000")
Me.TextBox12 = Format(Total2, "# ##0.000")
End Sub
'------------------------------------------------------------------------------
Private Sub TextBox1_Change()
On Error Resume Next
If Me.TextBox1 <> "" Then
mots = Split(Trim(Me.TextBox1), " ")
Tbl = choix
For I = LBound(mots) To UBound(mots)
Tbl = Filter(Tbl, mots(I), True, vbTextCompare)
Next I
If UBound(Tbl) > -1 Then
Dim b(): ReDim b(1 To UBound(Tbl) + 1, 1 To Ncol)
For I = LBound(Tbl) To UBound(Tbl)
a = Split(Tbl(I), "*")
For k = 1 To Ncol: b(I + 1, k) = a(k - 1): Next k
Total = Total + (a(5) * 1)
Total2 = Total2 + (a(6) * 1)
Next I
Me.ListBox1.List = b
Me.TextBox11 = Format(Total, "# ##0.000")
Me.TextBox12 = Format(Total2, "# ##0.000")
End If
Else
UserForm_Initialize
End If
End Sub
J
Bonjour
Modif a tester
Me.TextBox11 = Format(Total, "# ###.000")
Me.TextBox12 = Format(Total2, "# ###.000")
A
Bonjour Amidou, Joco7915,
À tester :
Private Sub UserForm_Initialize()
Set f = ActiveSheet
Set Rng = f.Range("A6:K" & f.[a65000].End(xlUp).Row)
Ncol = Rng.Columns.Count
Tbltmp = Rng.Value
For I = LBound(Tbltmp) To UBound(Tbltmp)
ReDim Preserve choix(1 To I)
For k = LBound(Tbltmp) To UBound(Tbltmp, 2)
choix(I) = choix(I) & Tbltmp(I, k) & " * "
Next k
Total = Total + Tbltmp(I, 6)
Total2 = Total2 + Tbltmp(I, 7)
Next I
Me.ListBox1.List = Rng.Value
Me.TextBox11 = Format(Total, "# ##0.000")
Me.TextBox12 = Format(Total2, "# ##0.000")
End Sub
Private Sub TextBox1_Change()
On Error Resume Next
If Me.TextBox1 <> "" Then
mots = Split(Trim(Me.TextBox1), " ")
Tbl = choix
For I = LBound(mots) To UBound(mots)
Tbl = Filter(Tbl, mots(I), True, vbTextCompare)
Next I
If UBound(Tbl) > -1 Then
Dim b(): ReDim b(1 To UBound(Tbl) + 1, 1 To Ncol)
For I = LBound(Tbl) To UBound(Tbl)
a = Split(Tbl(I), "*")
For k = 1 To Ncol
If k = 6 Or k = 7 Then
' Format des valeurs dans les colonnes 6 et 7 avec 3 décimales
b(I + 1, k) = Format(a(k - 1), "0.000")
Else
b(I + 1, k) = a(k - 1)
End If
Next k
Total = Total + (a(5) * 1)
Total2 = Total2 + (a(6) * 1)
Next I
Me.ListBox1.List = b
Me.TextBox11 = Format(Total, "# ##0.000")
Me.TextBox12 = Format(Total2, "# ##0.000")
End If
Else
UserForm_Initialize
End If
End Sub
A
Bonsoir à vous
Correct. Résultat impeccable, les 2 colonnes sur la listbx sont à 3 décimales
Merci beaucoup Abderrahman BENALI
bonne soirée