Marco compter par article

Bonjour Excelleurs(ses),

dans une feuille j'ai quatres colonnes,

je souhaite récupérer des informations. pour chaque article , je compte le nombre de fois que mes pièces sont différents et je concatène mes semaines pour chaque pièces différentes en séparant d'un - entre de pièces.

voilà, si il y a une formule ou un code vba qui le fait déjà je suis preneur

à vous lire

cordiales MEDAS

8test.xlsx (579.78 Ko)

Bonjour,

Je ne suis pas sur d'avoir bien compris ce que tu attends, mais sans exemple difficile de répondre parfaitement à tes attentes.

Sur la feuille 2, j'ai enlever tous les doublons pour avoir la liste des articles uniques, tu peux cliquer sur le bouton pour voir le résultat.

La macro va chercher pour chaque article les différentes pièces qui lui sont associées par semaine dans la feuille 1.

Dit moi si cela te va, mais un exemple ne serait pas de refus !

A plus !

7test-article.xlsm (594.58 Ko)

Bonjour Braters, Excelleurs(ses),

j'avais mis en rouge l'exemple, j'accord qui n'était pas trés explicite,

prenons le cas de celui qui est en rouge, l'article 14384016 a deux numéros de pièces qui sont 87953 et 91249 pour 87953 les semaines sont S11 et S12 et pour 91249 c'est S38-S46- S47 - S48 - S49 - S50 - S51

donc j'ai comme résultat 14384016 2 numéros : 87953;S11-S1 : 91249;S38-S46-S47-S48-S49-S50-S51

Merci Braters d'avoir pris le temps de faire cette macro :

Sub count_pièce()

Dim Derlig As Integer, Article As Range, Réf As Range, R_art As Integer, R_cel As Integer, Pieces As Range, Piece As Range, sem As Range

If Feuil2.Range("B2") <> "" Then
    Feuil2.Range("B2:b" & Rows.Count).Clear
End If

Derlig = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
Set Article = Feuil1.Range("B2:B" & Derlig)
Set Réf = Feuil2.Range("A2:A" & Feuil2.Range("A" & Rows.Count).End(xlUp).Row)

For Each art In Réf
    R_art = art.Row
    For Each cel In Article
        If cel = art Then
            R_cel = cel.Row
            Set Pieces = Feuil2.Range("B" & R_art)
            Set Piece = Feuil1.Range("C" & R_cel)
            Set sem = Feuil1.Range("D" & R_cel)
                If Pieces = "" Then
                    Pieces = sem & " : " & Piece
                ElseIf Psem = sem Then
                    Pieces = Feuil2.Range("B" & R_art).Value & ", " & Piece
                Else
                    Pieces = Feuil2.Range("B" & R_art).Value & " - " & sem & " : " & Piece
                End If
            Psem = sem
        End If
    Next cel
Next art

End Sub

le résultat y est presque merci beaucoup je ne savais pas comment utiliser les boucle for each sous vba

Bonjour à tous

Un essai à tester.

Bye !

3test-v1.xlsm (560.50 Ko)

Bonjour GMB, Excelleurs(es),

Merci, le rendu c'est pas trop sa; j'ai modifié le code à Braters, il manque un for each sur les pieces et une condition ci Pcs<>Pieces alors nb+1

là j'ai le nombre.

pour chaque article je veux connaître le nombre de fois que j'ai de pièces différentes

Dans ton résultat: tu as fait pour chaque pièces combien fois il me revient.

Nouvel essai

Bye !

6test-v2.xlsm (560.94 Ko)

GMB merci

Rechercher des sujets similaires à "marco compter article"