Microsoft 365 Macro - Concaténer avec variable

Aleksii

XLDnaute Nouveau
Bonjour,

Je souhaites générer un transfert de 2 variables avec un concaténer texte sous forme de macro.

Ci-joint le fichier avec la DATA et le RESULTAT RECHERCHE.

Merci pour votre aide.
 

Pièces jointes

  • MACRO-CONCATENER-VARIABLE.xlsm
    10.8 KB · Affichages: 10
Solution
macro 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...

vgendron

XLDnaute Barbatruc
macro 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...
Edit: J'ai rechargé la macro qui contenait une erreur
 

Aleksii

XLDnaute Nouveau
macro 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...
Ils ne sont pas identiques. La colonne G n'est pas correct, elle reprend que le parent B5
 

vgendron

XLDnaute Barbatruc
Juste une remarque pour les deux solutions proposées
par @Phil69970 et moi

quel 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
 

Phil69970

XLDnaute Barbatruc
Re

@Aleksii

quel 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
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 A

Mais les 2 fonctionnent comme demandé

Ci joint une version légèrement mieux optimisé

Merci de ton retour

@Phil69970
 

Pièces jointes

  • Concatener par macro V4.xlsm
    16.1 KB · Affichages: 2

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote