récapitulatif mensuel dans un userform

  • Initiateur de la discussion j-pierre
  • Date de début
J

j-pierre

Guest
bonjour à tous

je cherche à faire un récapitulatif mensuel ou Bi ou Tri dans un Userform.
je vous met un fichier joint pour exemple.
mon problème est de pouvoir trier dans la colonne A les Mois et Année, et fonction des choix dans les autres Listbox incrémenter les textbox pour le résultat.

sur ce fil:
Lien supprimé

@Thierry's fourni un exemple mais je ne parviens pas à l'adapter

merci pour votre aide [file name=Classeur1_20060308120148.zip size=12833]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1_20060308120148.zip[/file]
 

Pièces jointes

  • Classeur1_20060308120148.zip
    12.5 KB · Affichages: 43

Hervé

XLDnaute Barbatruc
Bonjour jean-pierre


tres tres vite fait, une solution pour le renvoi sans doublons :


Private Sub UserForm_Initialize()
Dim data As Collection
Dim data1 As Collection
Dim c As Range
Dim i As Byte

Set data = New Collection
Set data1 = New Collection

For Each c In Range('a2:a' & Range('a65536').End(xlUp).Row)
       
On Error Resume Next
        data.Add MonthName(Month(c)),
CStr(Month(c))
        data1.Add Year(c),
CStr(Year(c))
       
On Error GoTo 0
Next c

For i = 1 To data.Count
        ListBox1.AddItem data(i)
Next i

For i = 1 To data1.Count
        ListBox2.AddItem data1(i)
Next i

       
With Me.ListBox3
        .AddItem 'CARREFOUR'
        .AddItem 'AUCHAN'
       
End With
       
With Me.ListBox4
        .AddItem 'ANANAS'
        .AddItem 'POIRES'
        .AddItem 'POMMES'
       
End With
End Sub


salut
 

Hervé

XLDnaute Barbatruc
re

bon ben comme c'etait rapide à faire, je l'ai fait .

code à placer 'dans' le bouton valider :


Private Sub CommandButton1_Click()
Dim i As Integer
Dim tablo As Variant
Dim cpt As Integer, pal As Integer
Dim tonne As Double

tablo = Range('a2:e' & Range('a65536').End(xlUp).Row)

For i = 1 To 4
       
If Controls('listbox' & i).ListIndex = -1 Then
                MsgBox 'merci de renseigner toutes les listes.'
               
Exit Sub
       
End If
Next i

For i = 1 To UBound(tablo)
       
If MonthName(Month(tablo(i, 1))) = ListBox1 And _
        Year(tablo(i, 1)) = Val(ListBox2)
And _
        tablo(i, 2) = ListBox4
And _
        tablo(i, 3) = ListBox3
Then
                cpt = cpt + 1
                pal = pal + tablo(i, 4)
                tonne = tonne + tablo(i, 5)
       
End If
Next i

TextBox1 = ListBox3
TextBox2 = ListBox4
TextBox3 = cpt
TextBox4 = pal
TextBox5 = tonne
End Sub


par contre je n'ai pas compris ta demande pour des recherches par mois ou trimestre, ton userform ne se prete pas à ce type de recherche.

salut
 

Gibson94

Nous a quitté
Repose en paix
Bonjour Jean-Pierre, Hervé, le forum,

Hervé, je me suis permis d'utiliser ton code et de continuer le programme de jean-Pierre.
Bonne journée...

[file name=AuchanCarrefour.zip size=14410]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/AuchanCarrefour.zip[/file]

Edition: Décidément, je suis toujours à la bourre en ce moment... lol hervé...

Message édité par: gibson94, à: 08/03/2006 14:56
 

Pièces jointes

  • AuchanCarrefour.zip
    14.1 KB · Affichages: 50
J

j-pierre

Guest
merci Hervé, et Gibson94 pour votre aide

Hervé je rencontre un petit bug lorsque la sélection est:
décembre/2005/carrefour/ananas

cela bloque sur la ligne:
tonne = tonne + tablo(i, 5)

j'aurais également voulu cumuler les mois par 2, 3 ou plus.
est ce possible


encore merci de donner de votre temps.
 

Hervé

XLDnaute Barbatruc
re

en pièce jointe, ton fichier modifié avec utilisation possible des multiselections sur les listbox 1 et 2.

pour le bug, corrige ton chiffre en e16 1,5 au lieu de 1.5

salut [file name=jeanpierre_20060308161506.zip size=17352]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/jeanpierre_20060308161506.zip[/file]
 

Pièces jointes

  • jeanpierre_20060308161506.zip
    16.9 KB · Affichages: 52

Discussions similaires

Statistiques des forums

Discussions
312 201
Messages
2 086 168
Membres
103 151
dernier inscrit
nassim