Microsoft 365 Récapitulatif bon de commande sur un seul onglet

doublefogg

XLDnaute Nouveau
Bonjour
J'ai un fichier exemple (joint) sur lequel figure plusieurs onglet reprenant des familles de produits différentes. le client n'a qu'a entrer la quantité désirée dans chaque onglet pour sa commande. Je souhaiterai que l'onglet RECAP, reprenne toutes les lignes de chaque produit par onglet FAMILLE pour lesquels la quantité serait >1 et qu'il les mettent les unes à la suite des autres. Un bouton dans l'onglet RECAP permettrait un "REFRESH"

merci pour votre aide

Cdlt
 

Pièces jointes

  • TEST RECAPITULATIF COMMANDE.xlsx
    12.3 KB · Affichages: 8
Solution
Merci pour ce retour
En effet, c'est une mauvaise manip de ma part,
il n'y aura que des tableaux standards avec un nombre de colonnes différents,
Mais je peux restructurer mes tableaux familles pour avoir mes 5 colonnes à récupérer dans RECAP toujours au même endroit. Simplement je souhaiterai que RECAP ne récupère que ces 5 colonnes et pas les autres informations
fichier joint modifié
Re..
Voir si la pj fonctionne correctement.
Sinon des tableaux famille avec les 5 colonnes à récupérer débutant en colonne A

Jacky67

XLDnaute Barbatruc
Bonjour
J'ai un fichier exemple (joint) sur lequel figure plusieurs onglet reprenant des familles de produits différentes. le client n'a qu'a entrer la quantité désirée dans chaque onglet pour sa commande. Je souhaiterai que l'onglet RECAP, reprenne toutes les lignes de chaque produit par onglet FAMILLE pour lesquels la quantité serait >1 et qu'il les mettent les unes à la suite des autres. Un bouton dans l'onglet RECAP permettrait un "REFRESH"

merci pour votre aide

Cdlt
Bonjour,
Ce code placé dans le module de la feuille "RECAP"
La mise à jour se fera à chaque sélection de cette feuille
VB:
Private Sub Worksheet_Activate()
    Dim Sh As Worksheet, Derlg&
    Application.ScreenUpdating = False
    Range("a2:e" & Rows.Count).Clear
    For Each Sh In ThisWorkbook.Worksheets
        If UCase(Left(Sh.Name, 7)) = "FAMILLE" Then
            On Error Resume Next
            Derlg = Cells(Rows.Count, "A").End(xlUp).Row + 1
            With Sh.UsedRange
                .AutoFilter Field:=3, Criteria1:="<>"
                .Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Copy
                Cells(Derlg, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
                .AutoFilter
            End With
        End If
    Next
End Sub
 

Pièces jointes

  • TEST RECAPITULATIF COMMANDE.xlsm
    25.5 KB · Affichages: 6
Dernière édition:

doublefogg

XLDnaute Nouveau
Bonjour,
Ce code placé dans le module de la feuille "RECAP"
La mise à jour se fera à chaque sélection de cette feuille
VB:
Private Sub Worksheet_Activate()
    Dim Sh As Worksheet, Derlg&
    Application.ScreenUpdating = False
    Range("a2:e" & Rows.Count).Clear
    For Each Sh In ThisWorkbook.Worksheets
        If UCase(Left(Sh.Name, 7)) = "FAMILLE" Then
            On Error Resume Next
            Derlg = Cells(Rows.Count, "A").End(xlUp).Row + 1
            With Sh.UsedRange
                .AutoFilter Field:=3, Criteria1:="<>"
                .Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Copy
                Cells(Derlg, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
                .AutoFilter
            End With
        End If
    Next
End Sub
Merci beaucoup @jacky pour cette réponse rapide
je vais essayer et je reviens vers toi
cdlt
 

doublefogg

XLDnaute Nouveau
Re-bonjour @Jacky67
Je me permets de revenir vers toi concernant ce code.
J'aurais souhaité l'appliquer à un fichier qui comprends beaucoup plus de colonnes, mais je ne souhaite copier dans le récap que 4 colonnes.
Est-il possible de choisir les colonnes dans le RECAP ?
exemple fichier joint (uniquement les colonnes en jaunes)
en gros, dans le code, quelles sont les éventuelles variables que je pourrais faire évoluer, mes connaissances sont trop limitées pour tout décrypter
merci beaucoup
Stéphane
 

Pièces jointes

  • TEST RECAPITULATIF COMMANDE.xlsx
    14.9 KB · Affichages: 3

Jacky67

XLDnaute Barbatruc
Re-bonjour @Jacky67
Je me permets de revenir vers toi concernant ce code.
J'aurais souhaité l'appliquer à un fichier qui comprends beaucoup plus de colonnes, mais je ne souhaite copier dans le récap que 4 colonnes.
Est-il possible de choisir les colonnes dans le RECAP ?
exemple fichier joint (uniquement les colonnes en jaunes)
en gros, dans le code, quelles sont les éventuelles variables que je pourrais faire évoluer, mes connaissances sont trop limitées pour tout décrypter
merci beaucoup
Stéphane
Re..
Il y a un mélange de tableau en plage et de tableau structuré
Il faudra choisir entre
Même structure (Xn colonnes) ou tableau structuré dans les feuilles "Famille"
Si cela n'est pas possible, il faudra voir pour un autre codage.
 

doublefogg

XLDnaute Nouveau
Merci pour ce retour
En effet, c'est une mauvaise manip de ma part,
il n'y aura que des tableaux standards avec un nombre de colonnes différents,
Mais je peux restructurer mes tableaux familles pour avoir mes 5 colonnes à récupérer dans RECAP toujours au même endroit. Simplement je souhaiterai que RECAP ne récupère que ces 5 colonnes et pas les autres informations
fichier joint modifié
 

Pièces jointes

  • TEST RECAPITULATIF COMMANDE.xlsx
    13.8 KB · Affichages: 2

Jacky67

XLDnaute Barbatruc
Merci pour ce retour
En effet, c'est une mauvaise manip de ma part,
il n'y aura que des tableaux standards avec un nombre de colonnes différents,
Mais je peux restructurer mes tableaux familles pour avoir mes 5 colonnes à récupérer dans RECAP toujours au même endroit. Simplement je souhaiterai que RECAP ne récupère que ces 5 colonnes et pas les autres informations
fichier joint modifié
Re..
Voir si la pj fonctionne correctement.
Sinon des tableaux famille avec les 5 colonnes à récupérer débutant en colonne A
 

Pièces jointes

  • TEST RECAPITULATIF COMMANDE V2.xlsm
    24.8 KB · Affichages: 16

Discussions similaires