BDD / Somme de certaines lignes dans une listview --> avez vous vu passer un code ?

GADENSEB

XLDnaute Impliqué
Hello le Forum

Voila un challenge intéressant !


Je veux faire un code un peu compliqué dans une listview.
Je fouille sur internet mais je n'ai rien trouvé d’intéressant


je veux filtrer, sur une listview, certaines lignes de ma Bdd et faire la somme de chaque ligne


en gros faire un tcd dans une listview, avec un filtre sur une valeur bien spécifique.



qqn aurait un début de code adéquat ?


Bonne am

Seb
 

gosselien

XLDnaute Barbatruc
Re : BDD / Somme de certaines lignes dans une listview --> avez vous vu passer un cod

Bonjour,

Il est toujours préférable d'ajouter un petit fichier d'exemple (avec données non confidentielles) et de même présentation que l'original, ça aide :)
 

13GIBE59

XLDnaute Accro
Re : BDD / Somme de certaines lignes dans une listview --> avez vous vu passer un cod

Bonjour le forum,

Gadenseb, tu as tout ce qu'il te faut pour t'en inspirer dans la macro "Filtre" de mon fichier comptes.

Bon courage, parce que c'est touffu...

JB
 

GADENSEB

XLDnaute Impliqué
Re : BDD / Somme de certaines lignes dans une listview --> avez vous vu passer un cod

hello tous les 2, le forum

J'ai refais un fichier test avec un explicatif

J’espère que c'est clair ;-)

Bonne am

Seb
 

Pièces jointes

  • BUDGET - DEMO.xlsm
    228.6 KB · Affichages: 84
  • BUDGET - DEMO.xlsm
    228.6 KB · Affichages: 73

GADENSEB

XLDnaute Impliqué
Re : BDD / Somme de certaines lignes dans une listview --> avez vous vu passer un cod

Salut 13GIBE59
le Forum .....

J'ai regardé ta partie Filtre de ton fichier .......

les sélections/filtres par combobox ... pas de soucis ...

Le total se fait bien dans le textbox total dédit ou crédit

moi ce que je cherche (sauf si je l'ai pas vu dans ton fichier) c'est de faire des regroupements de mm ligne et d'en faire la somme

exemple :

il ya 5 ligne BABA dans la ma bdd avec a chaque fois 5€ au crédit et 1 6eme ligne avec 7€ au débit

ben je veux qu'il apparaisse qu'une ligne dans ma bdd avec un total de ((5*5)-7)= 18

qu'est ce que tu en dit ?

C'est faisable ?


Bonne journée

Seb
 

13GIBE59

XLDnaute Accro
Re : BDD / Somme de certaines lignes dans une listview --> avez vous vu passer un cod

Bonjour GAADENSEB,

Dans ton exemple, tu cites qu'il y a 5 lignes BABA, tu peux donc filtrer sur le nom, ou y-a t'il quelque chose qui m'échappe ?

Partant de là, je ne comprends pas, si tu ne veux qu'une ligne, fait apparaître une une zone de liste (listbox), voire une msgbox,
ça sera plus simple...

je pense que ce que tu cherches est faisable, mais faut le temps....:eek:

JB
 

GADENSEB

XLDnaute Impliqué
Re : BDD / Somme de certaines lignes dans une listview --> avez vous vu passer un cod

Hello

Ce n'est pas une question de filtrer .... enfin pas tt à fait

Comme sur mon exemple fichier :

- Filtrer toutes les lignes avec "RESERVES" en colonne H (ceci par defaut) et pas par le biais d'une combobox.
- et de la faire ceci pr toutes les lignes filtrées :

il ya 5 ligne BABA dans la ma bdd avec a chaque fois 5€ au crédit et 1 6eme ligne avec 7€ au débit
je veux qu'il apparaisse qu'une ligne dans ma bdd avec un total de ((5*5)-7)= 18

aprés si passer par une listbox est plus simple !! cela m'ira bien ;-)
 

GADENSEB

XLDnaute Impliqué
Re : BDD / Somme de certaines lignes dans une listview --> avez vous vu passer un cod

Hello tout le monde,

J'ai un début de piste avec ce fichier de boisgontierjacques

et la partie 2

Code:
Function Tot(champBD1, champBD2, ChampBDSomme, ZoneRes1, ZoneRes2)
  Application.Volatile
  Set mondico = CreateObject("scripting.dictionary")
  a = champBD1
  b = champBD2
  e = ChampBDSomme
  c = ZoneRes1
  d = ZoneRes2
  For i = 1 To UBound(a)
    temp = a(i, 1) & " " & b(i, 1)
    mondico(temp) = mondico(temp) + e(i, 1)
  Next i
  Dim retour()
  ReDim retour(LBound(c) To UBound(c))
  For i = LBound(c) To UBound(c)
    temp = c(i, 1) & " " & d(i, 1)
    retour(i) = mondico(temp)
  Next i
  Tot = Application.Transpose(retour)
End Function

Pourrais t'on envoyer le resultat de "mondico" dans une listview ou autre ????


Bonne journée

Sb
 

Pièces jointes

  • MatricielPerso.xls
    51 KB · Affichages: 45
  • MatricielPerso.xls
    51 KB · Affichages: 44

GADENSEB

XLDnaute Impliqué
Re : BDD / Somme de certaines lignes dans une listview --> avez vous vu passer un cod

Hello
Je fouille ton code

J'inclue une colonne "Type" pour simuler mon fichier originel et pourvoir l'appliquer en suite.


Mais du coup je perds les données de la colonne "client"

Pour info, j'ai modifié cette ligne de code :

Code:
 If Not IsNull(RcdSt(3, i)) Then
                    .ListItems(.ListItems.Count).ListSubItems.Add , , Format(RcdSt(3, i) * 1, "# ###.00 €")
                    T = T + RcdSt(3, i) * 1

Et dans la requête SQL

Code:
 requete = "SELECT Date, Type, Client, Total FROM [" & Data & "$] "



Du coup, je me dis que cela serait bien de remplacer le SQL par une plague de données
Je l'ai nommée "DataSeb"

Mais là je vois pas où l'inclure la transformation ....

Need somme help please ;-)
 

Pièces jointes

  • Listview-total - TEST.xlsm
    32.9 KB · Affichages: 54

GADENSEB

XLDnaute Impliqué
Re : BDD / Somme de certaines lignes dans une listview --> avez vous vu passer un cod

HELLO

Thanks

J'ai testé mais j'ai cette erreur

Capture.PNG
sur ce code :

Code:
Sub filtre(Optional Mois As Byte)
Dim lig As Long, i As Long, j As Byte, T As Single
    
    lig = SQL.Get_List(Mois)
    
    UserForm1.Caption = "SELECTION DE " & lig & " LIGNE(S)"

    With UserForm1.ListView1
        .ListItems.Clear
       If lig > 0 Then
   For i = 0 To lig - 1
            
            'type=1, client=2
                For j = 1 To 2
          If Not IsNull(RcdSt(j, i)) Then
        .ListItems(.ListItems.Count).ListSubItems.Add , , RcdSt(j, i)
            Else
        .ListItems(.ListItems.Count).ListSubItems.Add , , ""
          End If
Next j

'total=3
If Not IsNull(RcdSt(3, i)) Then
    .ListItems(.ListItems.Count).ListSubItems.Add , , Format(RcdSt(3, i) * 1, "# ###.00 €")
    T = T + RcdSt(3, i) * 1
Else
    .ListItems(.ListItems.Count).ListSubItems.Add , , ""
End If
                
          Next i
            .ListItems(1).Selected = False
            Set .SelectedItem = Nothing
        End If
    End With
    UserForm1.TextBox1.Value = IIf(T > 0, Format(T, "# ###.00 €"), "")
End Sub


Je me suis planté ou ?
Bonne soirée

Seb
 

Pièces jointes

  • Capture.PNG
    Capture.PNG
    3.9 KB · Affichages: 44

GADENSEB

XLDnaute Impliqué
Re : BDD / Somme de certaines lignes dans une listview --> avez vous vu passer un cod

@ Tatiak

Pourrais-ton essayé d'appliquer ta méthodo à mon fichier ?

voir mon post 4
https://www.excel-downloads.com/thr...istview-avez-vous-vu-passer-un-code.20002290/

Bonne journnée


ps: Je ne reçois plus les alertes d'un nouveau message sur ce forum .... pourtant mon abonnement à cette discussion est bien enclanché....ca vous fait ca vous?
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal