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
For i = LBound(TabData, 1) + 3 To UBound(TabData, 1)
VarNum = Replace(Split(TabData(i, 2), "-")(0), "ID VAR ", "")
TabData(i, UBound(TabData, 2)) = TabData(1, UBound(TabData, 2)) & "ID VAR " & VarNum
Next i
.Range("A2:G" & fin) = TabData
End With
End Sub
Bonjour,
et donc.. ma proposition du post #2 ??Bonjour,
Presque , le détail est dans la colonne G. La valeur doit correspondre à ID VAR du produit parent.
Merci.
Finalement ce n'est pas bon. Mes exemples avec "-" n'est pas une bonne idée. Elles avait pour but d'améliorer la compréhension. Du coup vous aves utilisé des biais qui ne fonctionne pas avec du numérique pour la colonne Get donc.. ma proposition du post #2 ??
@Aleksii
Avec ton nouveau fichier je vois pas la différence avec ton ancien fichier et pour moi nos 2 solutions fonctionnent donc je ne comprends pas ce que tu attends.
*J'ai mis ma macro sur le nouveau fichier et le résultat me semble correct donc ????
@Phil69970
C'est quoi la différence avec le fichier d'avant??
moi, ce que je vois, c'est que le code proposé génère exactement les colonnes attendues