Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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:
 

Pièces jointes

  • Exemple regroup1.xlsx
    10.2 KB · Affichages: 32

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.
 

Pièces jointes

  • GigIdx.xlsm
    79.5 KB · Affichages: 51
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:

Discussions similaires

Réponses
37
Affichages
2 K
Réponses
16
Affichages
273
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…