Listbox et format nombre

abtony

XLDnaute Impliqué
Bonjour le forum,

est t'il possible sur ce code de la listbox de définir le format nombre "0.00" sur les 5 dernières colonnes de la listbox ?

j'ai éffectuer une recherche sur google et sur le forum et je trouve rien sur le sujet !

userform initialize
Code:
ListBox1.ColumnCount = 8
ListBox1.ColumnWidths = "70;332;30;60;60;60;60;60"
T = Range("BDD")
ListBox1.List = T

merci pour vos réponses
 
G

Guest

Guest
Re : Listbox et format nombre

bonjour Abtony,

il n'est pas possible de le faire directement à travers les propriétés des Listbox. Par contre ceci fonctionne:

Code:
Dim T
Dim i As Integer
T = Range("BDD")
With ListBox1
    .ColumnCount = 8
    .ColumnWidths = "70;332;30;60;60;60;60;60"
    .List = T
    For i = 0 To ListBox1.ListCount - 1
        .List(i, 7) = Format(.List(i, 7), "0.00")
    Next i
End With

A bientôt
 

abtony

XLDnaute Impliqué
Re : Listbox et format nombre

re,

je me retrouve avec un message d'erreur (dépassement de capacité) ?

cela voudrait dire quoi ?

voici tout le code

Code:
Private Sub UserForm_Initialize()
Dim hwnd As Long
Dim i As Integer
'Dim T()
'Dim j As Long
  hwnd = FindWindowA(vbNullString, Me.Caption)
  SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) Or &H20000
hwnd = hwndFenetreForm(Me.Caption)
  If hwnd <> 0 Then
    'déclaration du listbox1 pour recevoir la gestion de la molette
    Set ListbWheel = New ClCtrl
    '... et initialisation
    ListbWheel.Create ListBox1, hwnd
    'idem avec le comboBox
    Set ComboWheel = New ClCtrl
    ComboWheel.Create ComboBox1, hwnd
    MoletteEnable = CheckBMolette
  End If
Application.ScreenUpdating = False
  'ListBox1.ListIndex = 0
  'ComboBox1.ListIndex = 0
'ListBox1.ColumnCount = 8
'ListBox1.ColumnWidths = "70;332;30;60;60;60;60;60"
T = Range("BDD")
'ListBox1.List = T
With ListBox1
    .ColumnCount = 8
    .ColumnWidths = "70;332;30;60;60;60;60;60"
    .List = T
    For i = 0 To ListBox1.ListCount - 1
        .List(i, 7) = Format(.List(i, 7), "0.00")
    Next i
End With



ComboBox1.RowSource = "Lots"
TextBoxRechLib.SetFocus
End Sub
 
G

Guest

Guest
Re : Listbox et format nombre

Re abtony,
Sur quelle ligne tu as le message d'erreur?

sinon essaie de déclarer I comme suit:

Dim I As Long

Sinon, sans la ligne qui retourne l'erreur c'est difficile de voir. Et parfois même avec.

A bientôt
 

abtony

XLDnaute Impliqué
Re : Listbox et format nombre

re hasco,

l'erreur se trouve sur cette ligne

For i = 0 To ListBox1.ListCount - 1

je me demande si c'est compatible avec T = Range("BDD") ?

a +

edit : si je met (I as long) ca tourne mais ne demare pas l'userform, oblige d'arreter le procesus excel
 
G

Guest

Guest
Re : Listbox et format nombre

Re Abtony,

Chez moi ça tourne comme il faut.

Il se peut que ton tableau T, en situation ne renvoie aucune valeur. La solution est de tester ListCount avant la boucle.

Code:
  If Listbox1.ListCount>0 then
    '..... Boucle....For...Next
  End if

Alors, ça donne quoi?

si cela ne marche pas, joins un fichier pour voir le problème in situ.
 

abtony

XLDnaute Impliqué
Re : Listbox et format nombre

re ,

ca fonctionne hasco grand merci a toi.

pour l'erreur dépassement de capacité ca vient de BDD a1:h65350

et ca fait de trop pour la boucle donc j'ai ramener a 3000 lignes et ca fonctionne

j'ai avec ton exemple formaté aussi les autres colonnes comme suit

With ListBox1
.ColumnCount = 8
.ColumnWidths = "70;332;30;60;60;60;60;60"
.List = T
For i = 0 To ListBox1.ListCount - 1
.List(i, 3) = Format(.List(i, 3), "0.00")
.List(i, 4) = Format(.List(i, 4), "0.00")
.List(i, 5) = Format(.List(i, 5), "0.00")
.List(i, 6) = Format(.List(i, 6), "0.00")
.List(i, 7) = Format(.List(i, 7), "0.00")
Next i

un grand merci hasco
 

Discussions similaires

Réponses
8
Affichages
420
Réponses
18
Affichages
655

Statistiques des forums

Discussions
312 356
Messages
2 087 561
Membres
103 590
dernier inscrit
Picsou74