Onglet récapitulatif de plusieurs onglets

Bonjour

j'ai un cas concret avec 8 onglets (8 containers) avec dans chaque onglet environ 3000 références produits et un nombre de pièces.

Je souhaite créer un 9ème onglet avec le total de pièces par référence MAIS je coince sur le fait que dans chaque onglet il peut y avoir une ligne avec une référence donnée ou pas. Par exemple des ligne A,B,G,H dans un onglet et B,G,K dans l'autre....

Pour faire simple j'aimerais avoir dans ma nouvelle feuille le total de chaque référence pour l'ensemble des containers, que ceux contiennent ces références ou pas. J’espère avoir été clair. Merci de m'avoir lu.

Yves

Bonjour. Bienvenue sur le Forum

C'est faisable. Reste à voir le fichier

Cordialement

Bonsoir merci pour cette réponse.

Ne pouvant bien entendu pas diffuser des fichiers de ma société j'ai créé un petit fichier Excel qui reprend le principe avec quelques valeurs et 3 containers.

Merci.

Yves

1633-cont.xlsx (10.43 Ko)

Bonjour,

Un exemple avec les données mises sous forme de tableaux.

A te relire.

Cdlt.

1903-cont.xlsm (39.80 Ko)
Option Explicit

Private Sub Worksheet_Activate()
    Me.PivotTables(1).PivotCache.Refresh
End Sub

Private Sub cmdConsolidateData_Click()
Dim ws As Worksheet
Dim lo As ListObject
Dim rCell As Range
    Application.ScreenUpdating = False
    With Me.ListObjects(1)
        If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete
        Set rCell = .InsertRowRange.Cells(1)
    End With
    For Each ws In ActiveWorkbook.Worksheets
        If ws.Name <> Me.Name Then
            ws.ListObjects(1).DataBodyRange.Copy
            rCell.PasteSpecial xlPasteValuesAndNumberFormats
            Application.CutCopyMode = False
            Set rCell = Me.ListObjects(1).HeaderRowRange.Cells(1) _
                        .Offset(Me.ListObjects(1).ListRows.Count + 1)
        End If
    Next ws
    Me.PivotTables(1).PivotCache.Refresh
    Set rCell = Nothing
End Sub
Private Sub cmdReset_Click()
    Application.ScreenUpdating = False
    With Me
        If Not .ListObjects(1).DataBodyRange Is Nothing Then _
           .ListObjects(1).DataBodyRange.Delete
        .PivotTables(1).PivotCache.Refresh
    End With
End Sub

Bonjour

La solution par formules

La liste des références de A2 à A(n) de la feuille Récap

La formule en colonne B

en B2

=SOMMEPROD(SOMME.SI(INDIRECT(LIGNE(INDIRECT("1:3"))&"!$A$1:$A$100");$A2;INDIRECT(LIGNE(INDIRECT("1:3"))&"!$B$1:$B$100")))

pour 8 onglets nommés de 1 à 8, "1:3" sera remplacé par "1:8"

Cordialement

2403-cont.xlsx (12.88 Ko)

Merci Amadeus et Jean-Eric pour ces deux fichiers !

J'ai ouvert chacun des deux, ai activé les macros (je suis chez moi et n'ai pas Excel mais Libre Office) et rien ne se passe.

Pour le fichier d'Amadéus, les cases de l'onglet récap contiennent #REF! et pour Jean-Eric je clique sur consolider mais rien ne se passe... je loupe sûrement une manip mais je sèche...j'essaierai demain au boulot avec Excel.

Merci et bonne soirée.

Bonjour,

Ma proposition ne peut fonctionner qu'avec EXCEL.

Cdlt.

Merci à vous deux !!!

Les deux fichiers fonctionnent parfaitement sur Excel, le vrai pas le générique

Bonne journée.

Yves

Rechercher des sujets similaires à "onglet recapitulatif onglets"