aouaoua
Messages postés27Date d'inscriptionlundi 19 février 2007StatutMembreDernière intervention 3 août 2014
-
Modifié par jordane45 le 4/08/2014 à 10:55
jordane45
Messages postés38109Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention28 mars 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