Format nombre ou monétaire dans listbox

aouaoua Messages postés 27 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 3 août 2014 - Modifié par jordane45 le 4/08/2014 à 10:55
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 4 août 2014 à 11:00
bonjour le forum
ça fait bientôt deux jours que je galère pour formater ma listbox3 en format nombre au monétaire rien a faire.
je vous demande de l'aide SVP merci d'avance

Option Explicit
Dim periode1 As Variant
Dim periode2 As Variant

Private Sub ListBox1_Click()
ListBox2.Clear
ListBox3.Clear
ListBox2.List = (Array("JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOUT", "SEPTEMBRE", "OCTOBRE", "NOVOMBRE", "DECEMBRE"))
End Sub

Private Sub ListBox2_Click()
Dim T As Variant
T = Me.TextBox1.Text
If TextBox1 = "" Then
MsgBox "vous devez remplir la case  de l'année svp...!!!!! "
TextBox1.SetFocus
ListBox2.Clear
Exit Sub
End If
Select Case ListBox2.Value
Case Is = "JANVIER"
periode1 = "01/01/" & T
periode2 = "31/01/" & T
Call find
Case Is = "FEVRIER"
periode1 = "01/02/" & T
periode2 = "29/02/" & T
Call find
Case Is = "MARS"
periode1 = "01/03/" & T
periode2 = "31/03/" & T
Call find
Case Is = "AVRIL"
periode1 = "01/04/" & T
periode2 = "30/04/" & T
Call find
Case Is = "MAI"
periode1 = "01/05/" & T
periode2 = "31/05/" & T
Call find
Case Is = "JUIIN"
periode1 = "01/06/" & T
periode2 = "30/06/" & T
Call find
Case Is = "JUILLET"
periode1 = "01/07/" & T
periode2 = "31/07/" & T
Call find
Case Is = "AOUT"
periode1 = "01/08/" & T
periode2 = "31/08/" & T
Call find
Case Is = "SEPTEMBRE"
periode1 = "01/09/" & T
periode2 = "30/09/" & T
Call find
Case Is = "OCTOBRE"
periode1 = "01/10/" & T
periode2 = "31/10/" & T
Call find
Case Is = "NOVEMBRE"
periode1 = "01/11/" & T
periode2 = "30/11/" & T
Call find
Case Is = "DECEMBRE"
periode1 = "01/12/" & T
periode2 = "31/12/" & T
Call find
End Select
End Sub

Private Sub UserForm_Initialize()
Dim Cell As Range
    Dim Unique As New Collection
    Dim Valeur As Range
    Dim i As Integer

    'Récupère la derniere ligne non vide dans la colonne A
    i = Feuil2.Range("B65536").End(xlUp).Row
    
    On Error Resume Next
    'boucle sur les cellules de la colonne A
    For Each Cell In Feuil2.Range("B2:B" & i)
        'Stocke les données dans une collection
        '(La collection n'accepte que des données uniques et permet donc
        ' de filtrer facilement les doublons).
        Unique.Add Cell, CStr(Cell)
    Next Cell
    On Error GoTo 0
    
    'Boucle sur le contenu de la collection pour alimenter la ListBox
    For Each Valeur In Unique
        Me.ListBox1.AddItem Valeur
    Next Valeur

toutlig

End Sub

Sub find()
 Dim wsBD As Worksheet
    Dim derLig As Long
    Dim Lig As Long
    Dim Plage As Range
    Dim CritRente As String
    Dim CritDateDeb As String
    Dim CritDateFin As String
    Dim LigList As Long
    Dim Cumul As Currency
    Dim nc As Integer, s As String
    
    Set wsBD = Worksheets("Base de données")
    ' Dernière ligne dans la feuille BD
    derLig = wsBD.Range("b" & Cells.Rows.Count).End(xlUp).Row + 1
    If derLig < 2 Then Exit Sub
    
    ' Définition de la plage en colonne B des noms
    Set Plage = wsBD.Range("b2:b" & derLig)
    
    ' Définition des critères
        ' N° noms des personnes
    CritRente = IIf(ListBox1.Value = "", "*", ListBox1.Value)
    
        ' Date Début
    CritDateDeb = periode1
    If periode1 = "" Or Not IsDate(periode1) Then
        CritDateDeb = Format(Application.WorksheetFunction.Min(Plage), "dd/mm/yyyy")
    End If
        ' Date Fin
    CritDateFin = periode2
    If periode2 = "" Or Not IsDate(periode2) Then
        CritDateFin = Format(Application.WorksheetFunction.Max(Plage), "dd/mm/yyyy")
    End If
    CritDateFin = DateAdd("d", 1, CritDateFin)
    
    LigList = 1
     ' Vider la lisbox3
       ListBox3.Clear
    ' Boucle sur toutes les lignes
     For Lig = 2 To derLig
         ' Rechercher par rapport aux critères
        If CDate(wsBD.Range("D" & Lig).Value) >= CDate(CritDateDeb) And _
            CDate(wsBD.Range("D" & Lig).Value) < CDate(CritDateFin) And _
            CStr(wsBD.Range("B" & Lig).Value) Like CritRente Then
On Error Resume Next
      ListBox3.AddItem Sheets("Base de données").Range("E" & Lig).Value
     'ListBox3.AddItem Format(Sheets("Base de données").Range("E" & Lig), "###0.00").Value
     'ListBox3.AddItem Sheets("Base de données").Range("E" & Lig).Value = Format("E", "###0.00")
     LigList = LigList + 1
End If
Next Lig
               
End Sub

FOU DES CODES

1 réponse

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
Modifié par jordane45 le 4/08/2014 à 11:00
Bonjour,

Ne nous donnes pas TOUT ton code.... uniquement la parti qui te pose problème...

Je pense que c'est là non ? :

   'ListBox3.AddItem Format(Sheets("Base de données").Range("E" & Lig), "###0.00").Value


Donc :
Mavaleur = Sheets("Base de données").Range("E" & Lig).Value
ListBox3.AddItem Format(Mavaleur ,"###0.00")


Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
0
Rejoignez-nous