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

XL 2010 Condenser les données d'un tableau

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

FCMLE44

XLDnaute Impliqué
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

Je n'en a plus besoin à priori. Continuez à renseigner la table pour les autres colonnes aussi.
Faites en sorte que tout soit comme dans la feuille DSN: en texte (sauf le numéro de colonne dans le récapitulatif, bien sûr)
 
Dernière édition:
Yes j'ai compris. Ca marche.
Par contre j'ai un souci quand je supprime les onglets hors table et récap, et que je me mets des données réelles, il beugue
VB:
With ThisWorkbook.Worksheets: For F = FSiret1.Index To .Count: .Item(F).Name = .Item(F).CodeName: Next F: End With
F = FSiret1.Index - 1
???
 
Ne supprimez plus de feuille à l'avenir.
Allez sur l'objet Worksheet représentant la 1ère des feuilles. Changez sa 1ère propriété (Name) en FSIRET1

On ne peut vraiment pas éviter de l'envoyer à 2 endroits différents ?
 
Il vaudrait vraiment mieux éviter de faire ça. Un de ces jour vous voudrez peut être totaliser tout ça horizontalement et vous ne vous rappellerez plus que certaines choses seront ainsi comptées deux fois.
 
Il y aurait néanmoins possibilité de spécifier deux numéros de colonnes:
Dans les déclaration ajoutez un petit tableau, ColsRéc()
À l'initialisation du dico :
VB:
For LRc = 1 To UBound(TRc, 1)
   DicRécap(TRc(LRc, 1) & "|" & TRc(LRc, 2) & "|" & TRc(LRc, 3)) = Array(TRc(LRc, 4), TRc(LRc, 5)): Next LRc
À la ventilation :
VB:
            CléRécap = Détail(30) & "|" & Détail(31) & "|" & Détail(33)
            If DicRécap.Exists(CléRécap) Then
               ColsRéc = DicRécap(CléRécap)
               C = ColsRéc(0): If C > 1 Then TRc(LRc, C) = TRc(LRc, C) + Détail(38)
               C = ColsRéc(1): If C > 1 Then TRc(LRc, C) = TRc(LRc, C) + Détail(38)
               End If
 
Lorsque je mets ce code
VB:
 CléRécap = Détail(30) & "|" & Détail(31) & "|" & Détail(33)
            If DicRécap.Exists(CléRécap) Then
               ColsRéc = DicRécap(CléRécap)
               C = ColsRéc(0): If C > 1 Then TRc(LRc, C) = TRc(LRc, C) + Détail(38)
               C = ColsRéc(1): If C > 1 Then TRc(LRc, C) = TRc(LRc, C) + Détail(38)
               End If

Le système bugge.
Erreur de compilation
Variable non définie
 
Ajoutez la déclaration de ColRéc().
Pour les formats, profitez de la boucle For LRc = 4 To LRc Step 5 tout en bas qui met les formules.
Aidez vous de l'enregistreur de macro pour les modèles, moi je suis fatigué.
 
J'ai créé cette macro avec le générateur de macros pour mon format
VB:
Sub Format()
'
' Format Macro
'
 
'
    Range("A1:A4,B1:H1,B4:H4").Select
    Range("H4").Activate
    Selection.Font.Bold = True
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent4
        .TintAndShade = 0.599993896298105
        .PatternTintAndShade = 0
    End With
    Range("B3:H3,E2").Select
    Range("E2").Activate
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark2
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = -4.99893185216834E-02
        .PatternTintAndShade = 0
    End With
    Range("A1:H4").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    Range("A1").Select
    With Selection.Font
        .Name = "Calibri"
        .Size = 14
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontMinor
    End With
End Sub

Lorsque je le mets avant la boucle, j'obtiens un débogage
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
418
Réponses
5
Affichages
382
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…