Sub Macro1()
'
Dim TabData() As Variant
With ActiveSheet
fin = .Range("A" & .Rows.Count).End(xlUp).Row
TabData = .Range("A2:G" & fin).Value
For i = LBound(TabData, 1) + 3 To UBound(TabData, 1)
For j = LBound(TabData, 2) + 4 To UBound(TabData, 2) - 1
TabData(i, j) = TabData(1, j) & TabData(i, j - 4)
Next j
Next i
VarNum = Replace(Split(TabData(4, 3), "-")(0), "PRODUIT ", "")
ID_VAR = TabData(4, 2)
For i = LBound(TabData, 1) + 3 To UBound(TabData, 1)
NewVarNum = Replace(Split(TabData(i, 3), "-")(0), "PRODUIT ", "")
If NewVarNum <> VarNum Then
VarNum = NewVarNum
ID_VAR = TabData(i, 2)
End If
TabData(i...
Sub Macro1()
'
Dim TabData() As Variant
With ActiveSheet
fin = .Range("A" & .Rows.Count).End(xlUp).Row
TabData = .Range("A2:G" & fin).Value
For i = LBound(TabData, 1) + 3 To UBound(TabData, 1)
For j = LBound(TabData, 2) + 4 To UBound(TabData, 2) - 1
TabData(i, j) = TabData(1, j) & TabData(i, j - 4)
Next j
Next i
VarNum = Replace(Split(TabData(4, 3), "-")(0), "PRODUIT ", "")
ID_VAR = TabData(4, 2)
For i = LBound(TabData, 1) + 3 To UBound(TabData, 1)
NewVarNum = Replace(Split(TabData(i, 3), "-")(0), "PRODUIT ", "")
If NewVarNum <> VarNum Then
VarNum = NewVarNum
ID_VAR = TabData(i, 2)
End If
TabData(i, UBound(TabData, 2)) = TabData(1, UBound(TabData, 2)) & ID_VAR
Next i
.Range("A2:G" & fin) = TabData
End With
End Sub
Ils ne sont pas identiques. La colonne G n'est pas correct, elle reprend que le parent B5macro corrigée
VB:Sub Macro1() ' Dim TabData() As Variant With ActiveSheet fin = .Range("A" & .Rows.Count).End(xlUp).Row TabData = .Range("A2:G" & fin).Value For i = LBound(TabData, 1) + 3 To UBound(TabData, 1) For j = LBound(TabData, 2) + 4 To UBound(TabData, 2) - 1 TabData(i, j) = TabData(1, j) & TabData(i, j - 4) Next j Next i VarNum = Replace(Split(TabData(4, 3), "-")(0), "PRODUIT ", "") ID_VAR = TabData(4, 2) For i = LBound(TabData, 1) + 3 To UBound(TabData, 1) NewVarNum = Replace(Split(TabData(i, 3), "-")(0), "PRODUIT ", "") If NewVarNum <> VarNum Then VarNum = NewVarNum ID_VAR = TabData(i, 2) End If TabData(i, UBound(TabData, 2)) = TabData(1, UBound(TabData, 2)) & ID_VAR Next i .Range("A2:G" & fin) = TabData End With End Sub
à noter que ton nouveau fichier n'est pas génial, vu que les 3 numéros parents sont identiques...
Reprend le code de mon post #16: je l'ai modifié
je pense que tu as récupéré le code avant que je le modifie
et oui pour tes codes parents, j'avais mal vu les 92 93 96
Exact Vincent je suis parti de l'idée que c'est bien le changement 92,93 .... de la colonnes B qui est le déterminant et non le changement de milliers de la colonne Aquel est le critère qui determine le changement de numéro parent??
dans ma solution, c'est lorsque le numéro de produit (colonne C) est incrémenté: Produit 1 /2 / 3..
dans la solution de Phil (si je ne me trompe pas) c'est lorsque les deux premiers chiffres de la colonne B changent: 92 93 96