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