XL 2010 VBA regroupement de données par colonne

cseb19

XLDnaute Nouveau
Bonjour,
Je souhaite en VBA regrouper des quantités faites en fonction de la fabrication, l'opération et la date.
J'ai tenté de faire des boucles mais je n'arrive pas. Est ce que quelqu'un pourrait me donner un coup de main.
Merci d'avance
Exemple:
upload_2017-7-20_17-48-26.png
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Bonjour.
Cette procédure le fait :
VB:
Option Explicit

Sub Regroup()
Dim TS(), Fab As SsGr, Opé As SsGr, Dat As SsGr, LS&
ReDim TS(1 To Feuil1.UsedRange.Rows.Count, 1 To 5)
For Each Fab In Gigogne(Feuil1.[A5:E5], 3, 4, 2)
   For Each Opé In Fab.Co
      For Each Dat In Opé.Co
         LS = LS + 1
         TS(LS, 1) = Dat.Co(1)(1)
         TS(LS, 2) = Dat.Id
         TS(LS, 3) = Fab.Id
         TS(LS, 4) = Opé.Id
         TS(LS, 5) = Dat.Somme(5): Next Dat, Opé, Fab
Feuil1.[I5].Resize(UBound(TS, 1), 5).Value = TS
End Sub
Du moins après installation de GigIdx dont référence cochée pour le classeur d'application.
 

Fichiers joints

Dernière édition:

cseb19

XLDnaute Nouveau
Merci à tous les 3 pour vos réponses. A priori, je pars sur la solution de gosselin. Je serais bien parti sur un TCD mais le problème c'est que je dois dans un fichier principale concaténer plusieurs fichiers excel.
 

cseb19

XLDnaute Nouveau
Gosselien, après avoir regardé ta macro, je n'arrive pas à voir comment tu fais le regroupement.
je vois bien l'endroit ou tu créer ta base avec les / mais pas celle ou tu regrouper
S'agit til de la fonction Textcolumns ?
 

gosselien

XLDnaute Barbatruc
Bonjour,

j'utilise un dictionnaire qui exclu les doublons; pour ça il faut créer une clé unique , ici c'est depuis un tableau (A) pour plus de rapidité et la clé est la concaténation des 4 premières colonne sur 5. Le 5e, elle , est totalisée (Qté).
Donc si 2 lignes sont identiques , la clé n'en retiendra qu'une mais totalisera la "qté".
Le tout est mis ensemble avec des "/" ça aurait pû être des "$" ou autre signe.
Ce ci arrive en un bloc en P5 qu'il faut splitter en P-Q-R-S.
Ensuite il faut coller les différentes totaux en T5 et plus bas?
La ligne "Ws1.[P5 : P1000].TextToColumns" pourrait être écrite d'une autre manière (avec une boucle) mais c'est pareil. Ici ça correspond au menu "données/convertir"
Voilà

P.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour.
mais le problème c'est que je dois dans un fichier principale concaténer plusieurs fichiers excel.
La fourniture GigIdx est équipée de procédures permettant de concaténer des tableaux de diverses sources. La fonction Gigogne accepte, comme 1er paramètre, un tableau résultant d'une telle concaténation.
 

Discussions similaires


Haut Bas