Faire une synthèse d'onglet

Messieurs, Dames, bonjour !

Je travaille actuellement sur un fichier assez simple :

1 onglet par mois avec une centaines de référence avec pour certaines références des commandes (dans les colonnes en jaunes "commandes")

1 onglet synthèse des commandes : Dans le fichier que je joins il n'y a qu'un onglet (MAI) mais j'aimerai pouvoir préparer la page de synthèse pour les futurs onglets qui arrivent (Juin... etc)

Le but : AU MIEUX : Récupérer que les références avec des commandes et les ramener dans l'onglet synthèse en récupérant le MOIS de la commande (via le nom de l'onglet ou en rajoutant une colonne MOIS dans la commande)

AU MOINS BIEN : Récupérer TOUTES les références (mêmes celles sans commande), les ramener dans la synthèse automatiquement et faire un filtre.

Merci d'avance !

J'ai essayé avec INDIRECT sur le nom d'onglet, hélas je ne peux récupérer que certaines lignes? et surtout pas les unes sous les autres.

Bonjour,

Normalement tes numeros de commandes devraient se suivre?

Pourquoi ne pas indiquer en dur tes numeros et après faire des recherchesv par rapport à ce numéro?

Cdt,

Car ils ne se suivent pas et ne sont pas systématiques... L'idée était bonne cependant

ton onglet mai est il figé ou on peut rajouter des colonnes?

c pas chouette mais ça peut donner des idées ...ou un début de piste

teten1

Je peux modifier les colonnes/noms/cellules pas de problème Je vous écoute

Petit bump du matin avec une cheffe qui m'oppresse

Regarde le fichier que j'ai envoyé hier et dis moi si cela te convient.

teten1

L'idée est vraiment pas mal, par contre comment faire lorsque j'aurai un onglet Juin? Vais-je devoir reconstruire les colonnes du n° de commande à chaque fois?

IL faudrait également pouvoir intégrer le mois de l'onglet dans la formule recherche V de la synthèse?

Ca me parait compliqué...

Bonjour,

Une proposition à étudier.

Cdlt.

Private Sub cmdConsolidateData_Click()
Dim ws As Worksheet
Dim rCell As Range
Dim lCol As Long, Lrow As Long, I As Long, k As Long
Dim tbl As Variant, Arr() As Variant

    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
            With ws
                lCol = .Cells(4, .Columns.Count).End(xlToLeft).Column
                Lrow = .Cells(.Rows.Count, 1).End(xlUp).Row
                tbl = .Cells(5, 1).Resize(Lrow - 4, lCol)
            End With
        End If
        k = 0
        For I = 1 To UBound(tbl)
            If tbl(I, 10) <> "" Then
                ReDim Preserve Arr(10, k + 1)
                Arr(0, k) = CLng(tbl(I, 12))
                Arr(1, k) = tbl(I, 1)
                Arr(2, k) = tbl(I, 2)
                Arr(3, k) = tbl(I, 8)
                Arr(4, k) = tbl(I, 3)
                Arr(5, k) = tbl(I, 11)
                Arr(6, k) = tbl(I, 4)
                Arr(7, k) = tbl(I, 5)
                Arr(8, k) = tbl(I, 6)
                Arr(9, k) = tbl(I, 14)
                k = k + 1
            End If
        Next I
    Next ws
    '-------------------------------------------------------------------
    rCell.Resize(UBound(Arr, 2), 10).Value = Application.Transpose(Arr)
    '-------------------------------------------------------------------
    Erase Arr
    Set rCell = Nothing
End Sub
Rechercher des sujets similaires à "synthese onglet"