Récapitulatif des cellules non vides sur une autre feuille

Bonjour,

Je me permet d'écrire sur le forum, car étant débutant j'ai avancé sur pas mal de point de mon projet, mais je bloque sur l'essentiel...

Je voudrais à partir d'un tableau de commande (A) sur la feuille 2 (500 références) et un tableau de commande (B) sur la feuille 3 (150 références), récupérer dans un tableau Récapitulatif en feuille 1, les désignations (Colonne B), références(Colonne C) et quantités(Colonne D) des produits dont la colonne quantité ( D) à été renseigné. En clair recopier les lignes dont les cellules de la colonne D est non vide.

Ensuite j'aimerais le faire sois automatiquement (ce serait vraiment le top) ou alors par un bouton récap sur la feuille Récapitulatif.

Est ce que si j'ai des cellules fusionner entre quelques produits (pour séparé les catégories de produits) cela pourrait fonctionner?

ps: j'ai essayé de m'inspirer d'un sujet du forum : https://forum.excel-pratique.com/excel/selection-de-valeur-si-case-non-vide-t25942-10.html

Merci de votre aide!

Très cordialement

260recap.zip (10.55 Ko)

Bonjour,

Essaie par ce code :

Sub Macro3()
Dim PlgA As Range, PlgB As Range
Dim DerLig As Long
With Sheets("Bon de Commande A")
    Set PlgA = .Range("B2:D" & .Cells(Rows.Count, 2).End(xlUp).Row)
End With
With Sheets("Bon de Commande B")
    Set PlgB = .Range("B2:D" & .Cells(Rows.Count, 2).End(xlUp).Row)
End With
With Sheets("Récapitulatif")
    .[L1] = .[D4]
    .Range("L2").FormulaR1C1 = ">0"
    PlgA.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Range("L1:L2"), CopyToRange:=.Range("B4:D4")
    DerLig = .Cells(Rows.Count, 2).End(xlUp).Row + 1
    .Cells(DerLig, 2).Resize(1, 3).Value = .Range("B4:D4").Value
    PlgB.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Range("L1:L2"), CopyToRange:=.Cells(DerLig, 2).Resize(1, 3)
    .Rows(DerLig).Delete
    .Range("L1:L2").Clear
End With
End Sub

Bonne journée

Bonjour, salut cousinhub,

Une variante, même principe

Sub FiltreQuantités()
Dim Lg&, f1 As Worksheet, f2 As Worksheet
        Application.ScreenUpdating = False
        Set f1 = Sheets("Bon de commande A")
        Set f2 = Sheets("Bon de commande B")
    With Sheets("Récapitulatif")
        .Columns("b:d").Clear
        .Range("k2") = "=d3<>""""" 'critère filtre
        '--- COMMANDE A ---
        .Range("b3") = "COMMANDE A"
        f1.Range("b2:d" & f1.[b65000].End(xlUp).Row) _
        .AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
        .Range("k1:k2"), CopyToRange:=.Range("b4:d4"), Unique:=False
        '--- COMMANDE B ---
        Lg = .Range("b" & Rows.Count).End(xlUp).Row + 2
        .Range("b" & Lg) = "COMMANDE B"
        f2.Range("b2:d" & f2.[b65000].End(xlUp).Row) _
        .AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
        .Range("k1:k2"), CopyToRange:=.Range("b" & Lg + 1 & ":d" & Lg + 1), Unique:=False
        .Range("k2").ClearContents
    End With
End Sub

Amicalement

Claude

382arc-systeme-recap.zip (16.56 Ko)

Merci à tous les deux, le code de cousin hub me conviens parfaitement, mais j'ai un problème :

J'ai recopier le code en changeant quelques emplacement de cellule, mais comme avec d'autre code, excel plante quand je click sur mon bouton récap :s

Je ne sais pas d'où peux venir le problème

Je peux peut être vous envoyer mon fichier définitif?

Merci

Re-,

Pas de souci, je t'envoie mon adresse mail via la messagerie privée

Bonne soirée

Bonjour,

Merci, je continue encore un peu d'essayer, j'ai l'impression qu'en recommençant mon fichier sur une base seine, ça à l'air de fonctionner... alors pourquoi? Si je ne m'en sort pas je te le transmettrais.

Merci

Bonne journée.

Bonjour,

Cousinhub, as tu reçu mon mail avec mon fichier pour y jeter une petit coup d’œil?

Merci, Bonne journée

Bonjour à tous,

j'ai exactement le meme probleme que Arc Systeme,

sauf que moi il faudrait bien separer chaque tableau, je vous mets un ficher en exemple.

J'ai plusieurs onglets, où dans les colonnes G et H c'est à moi de rentrer les information.

J'aimerai avoir un onglet recap où un tableau correspondrait à un onglet et qui afficherait uniquement les lignes où les colonnes G et H ont eté remplies...

Sauriez vous m'aider please ?

101test1802.xlsx (36.10 Ko)

Cordialement,

Rechercher des sujets similaires à "recapitulatif vides feuille"