Excel dupliquer des lignes
dram15
Messages postés
7
Statut
Membre
-
dram15 Messages postés 7 Statut Membre -
dram15 Messages postés 7 Statut Membre -
Bonjour,
Je cherche à créer une macro permettant de dupliquer des lignes.
Supposons j'ai une feuille avec plusieurs colonnes:
Avant
Colonne 1 Colonne 2 Colonne 3
CMP10129905 DK435089 100%
CMP10129854 DK438546 100%
et j'aimerais la transformer de cette façons
Après
Colonne 1 Colonne 2 Colonne 3
CMP10129905 DK101345 30%
CMP10129905 DK102456 20%
CMP10129905 DK658978 50%
CMP10129854 DK345089 20%
CMP10129854 DK268365 25%
CMP10129854 DK346890 10%
CMP10129854 DK567908 10%
CMP10129854 DK476089 10%
CMP10129854 DK543785 10%
CMP10129854 DK657893 15%
Avec
DK435089 est composé de:
DK101345 30%
DK102456 20%
DK658978 50%
et DK438546 est composé de:
DK345089 20%
DK268365 25%
DK346890 10%
DK567908 10%
DK476089 10%
DK543785 10%
DK657893 15%
Comment pourrais-je faire?
Merci par avance
Je cherche à créer une macro permettant de dupliquer des lignes.
Supposons j'ai une feuille avec plusieurs colonnes:
Avant
Colonne 1 Colonne 2 Colonne 3
CMP10129905 DK435089 100%
CMP10129854 DK438546 100%
et j'aimerais la transformer de cette façons
Après
Colonne 1 Colonne 2 Colonne 3
CMP10129905 DK101345 30%
CMP10129905 DK102456 20%
CMP10129905 DK658978 50%
CMP10129854 DK345089 20%
CMP10129854 DK268365 25%
CMP10129854 DK346890 10%
CMP10129854 DK567908 10%
CMP10129854 DK476089 10%
CMP10129854 DK543785 10%
CMP10129854 DK657893 15%
Avec
DK435089 est composé de:
DK101345 30%
DK102456 20%
DK658978 50%
et DK438546 est composé de:
DK345089 20%
DK268365 25%
DK346890 10%
DK567908 10%
DK476089 10%
DK543785 10%
DK657893 15%
Comment pourrais-je faire?
Merci par avance
A voir également:
- Dupliquer ligne excel
- Dupliquer ecran - Guide
- Liste déroulante excel - Guide
- Partager photos en ligne - Guide
- Formule somme excel ligne - Guide
- Word et excel gratuit - Guide
12 réponses
En fait le DK435089 est un matériel complexe, qui est composé de plusieurs matériaux normaux.
En gros je cherche à faire une décomposition par matériel, j'espére que c'est plus claire pour vous.
Cdlt
En gros je cherche à faire une décomposition par matériel, j'espére que c'est plus claire pour vous.
Cdlt
Re,
j'espére que c'est plus claire pour vous.Non, quelles regles appliquez vous et ou se trouvent les composants????????
j'espére que c'est plus claire pour vous.Non, quelles regles appliquez vous et ou se trouvent les composants????????
En gros j'ai une première feuille avec pour chaque compo, le complex matériel qui lui est assigné.
Dans une autre feuille j'ai la décomposition du complex matériel en différent matériel avec leur pourcentage. et j'essaie de créer un nouvelle feuille avec les matériel normal et pourcentage spécifique.
Dans une autre feuille j'ai la décomposition du complex matériel en différent matériel avec leur pourcentage. et j'essaie de créer un nouvelle feuille avec les matériel normal et pourcentage spécifique.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
D'accord, pourriez vous mettre votre fichier a dispo (si pas confidentiel) sur: https://www.cjoint.com/ copier le lien cree.
Merci
D'accord, pourriez vous mettre votre fichier a dispo (si pas confidentiel) sur: https://www.cjoint.com/ copier le lien cree.
Merci
ok merci et si je voulais supprimer la ligne des 100% sur la feuille 3.
Que pourrais ajouter dans le code la macro?
Que pourrais ajouter dans le code la macro?
Bonjour,
Remplacez le code existant par celui-ci
Bonne suite
Remplacez le code existant par celui-ci
Sub Bouton2_Clic()
Dim Plage1 As Range, Cel As Range, Col_A As Range
Dim Wk1, Wk2, Wk3
Set Wk1 = Worksheets("feuil1")
Set Wk2 = Worksheets("feuil2")
Set Wk3 = Worksheets("feuil3")
Set Plage1 = Wk1.Range("A2:A" & Wk1.Range("A" & Rows.Count).End(xlUp).Row)
Set Plage2 = Wk2.Range("A1:A" & Wk2.Range("A" & Rows.Count).End(xlUp).Row)
For Each Cel In Plage1
If Cel <> "" Then
'DK recherche
DK = Wk1.Range("F" & Cel.Row)
'Recherche si DK existe
Nbre = Application.CountIf(Plage2, DK)
If Nbre = 1 Then 'DK existe
Lig = 1
'Recherche ligne DK
Lig = Wk2.Columns("A").Find(DK, Wk2.Cells(Lig, "A"), , xlWhole).Row
'Ligne DK composants
LigC = Lig + 1
'Tant qu'il y a un composant pour ce DK
Do While Wk2.Cells(LigC, "C") <> ""
'pour la dernière ligne de la colonne A
derlig = Wk3.Range("A" & Rows.Count).End(xlUp).Row + 1
Wk3.Range("A" & derlig) = Cel
'DK Composants
Wk3.Range("B" & derlig) = Wk2.Cells(LigC, "C")
'%DK Composants
Wk3.Range("C" & derlig) = Wk2.Cells(LigC, "E")
LigC = LigC + 1
Loop
End If
End If
Next Cel
End Sub
Bonne suite