XL 2010 Condenser les données d'un tableau

FCMLE44

XLDnaute Impliqué
Supporter XLD
Bonjour

Etape 2 de mon projet

Les onglets se créant automatiquement en fonction des données de la feuille DSN, je souhaite, pour chaque onglet créé condenser les données obtenues.

Feuille TC :
En ligne 4 colonne AN, je souhaite condenser les données se trouvant en colonne AD à AK (cf exemple fichier joint).

Lors de la mise à jour de chaque onglet via macro Balaye1, il se mettrait à jour automatiquement

Cordialement
 

Pièces jointes

  • DSN ESSAI.xls
    94 KB · Affichages: 51

Dranreb

XLDnaute Barbatruc
Vous allez vous débrouiller, j'en ai bien peur.
Tout dépend si le résultat souhaité doit être classé ou non comme le reste, de sorte qu'on puisse le déposer au passage dans un 3ième tableau TRc pour la récap (au fait j'ai rebaptisé TCd le TRs parce que vous l'appeliez condensé et pas résumé)
Je joins ma version qui réutilise les feuilles existantes dans l'ordre et supprime à la fin celles en trop.
J'installe aussi automatiquement la formule de la colonne 38.
 

Pièces jointes

  • GigogneFCMLE44.xlsm
    93.2 KB · Affichages: 34

Dranreb

XLDnaute Barbatruc
Bonjour.
Allez y, faites le. Remplissez aussi les éléments du tableau TRc pendant le reste du traitement.
Moi je ne ferai plus rien, à part corriger ce que vous ferez vous même si ça ne marchera pas comme vous le souhaitez.
J'en ai déjà assez fait, et ça constitue assez d'exemples pour que vous puissiez continuer tout seul sur la même voie.
 

FCMLE44

XLDnaute Impliqué
Supporter XLD
merci

je pense qu'il faut que je modifie ce code ci
VB:
   For Each NumSiret In CodSiret.Co
      NomFeui = CodSiret.Id & "-" & Right$(String$(5, "…") & CStr(NumSiret.Id), 5)
      With ThisWorkbook.Worksheets: If F = .Count Then .Item(F).Copy After:=.Item(F)
         F = F + 1: Set FDest = .Item(F): FDest.Name = NomFeui: End With
      ReDim TDt(1 To 5000, 1 To 37), TCd(1 To 3000, 1 To 8): LDt = 0: LCd = 0
      For Each CodCot In NumSiret.Co: For Each Qualif In CodCot.Co: For Each TxCoti In Qualif.Co: For _
         Each TxAtT23003 In TxCoti.Co: For Each LibCot In TxAtT23003.Co: For Each Commune In LibCot.Co
         LCd = LCd + 1
         TCd(LCd, 1) = LibCot.Id: TCd(LCd, 2) = CodCot.Id: TCd(LCd, 3) = Commune.Id
         TCd(LCd, 4) = Qualif.Id: TCd(LCd, 6) = TxCoti.Id: TCd(LCd, 7) = TxAtT23003.Id
         For Each Détail In Commune.Co
            LDt = LDt + 1
            For C = 1 To 37: TDt(LDt, C) = Détail(C): Next C
            TCd(LCd, 5) = TCd(LCd, 5) + Détail(34)
            TCd(LCd, 8) = TCd(LCd, 8) + Détail(38) ' Détail(37)
            Next Détail, Commune, LibCot, TxAtT23003, TxCoti, Qualif, CodCot
      FDest.[A1:AL1].Value = Titres1
      FDest.[AN1].Value = "TABLEAU RECAPITULATIF"
      FDest.[AO1].Value = NomFeui
      FDest.[A2:AL5001].Value = TDt
      FDest.[AN3:AU3].Value = Titres2
      FDest.[AN4:AU3003].Value = TCd
      FDest.Cells(LCd + 5, "AU").FormulaR1C1 = "=SUBTOTAL(9,R4C:R[-2]C)"
      FDest.Columns.AutoFit
      FDest.[A:AM].Columns.Hidden = True
      Next NumSiret, CodSiret
FRécap.[A2:Z1001].Value = TRc

je comprends un peu le principe mais si je le fais dans le meme modele que les onglets cela ne donnera pas que je souhaites dans mon fichier feuil recap ?

cordialement
 

Dranreb

XLDnaute Barbatruc
Pourquoi pensez vous que ça ne donnera pas le résultat qu'il faut en faisant comme je dis au poste #55 ?
Il n'y a pas à le faire pour chaque feuille puisque For Each NumSiret In CodSiret.Co le fait déjà.
Il n'y a qu'à ajouter à LRc le nombre de lignes à prévoir pour cette feuille.
 

Discussions similaires