Boucle pour dupliquer des lignes dans excel
Pliskhy
-
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un tableau excel à 3 colonnes qui réfence:
- 1 article
- 1 code de réference
- 1 nombre d'étiquettes nécessaires.
ce que je cherche à faire c'est à l'aide d'un bouton, c'est dupliquer sur une feuille 2 l'article et le numero de référence sur autant de lignes qu'il y as d'étiquettes nécessaires.
Par exemple
Feuille 1
A 001 2
B 002 3
etc...
Feuille 2
A 001
A 001
B 002
B 002
B 002
etc...
merci, d'avance pour l'aide que vous pourriez m'apporter.
j'ai un tableau excel à 3 colonnes qui réfence:
- 1 article
- 1 code de réference
- 1 nombre d'étiquettes nécessaires.
ce que je cherche à faire c'est à l'aide d'un bouton, c'est dupliquer sur une feuille 2 l'article et le numero de référence sur autant de lignes qu'il y as d'étiquettes nécessaires.
Par exemple
Feuille 1
A 001 2
B 002 3
etc...
Feuille 2
A 001
A 001
B 002
B 002
B 002
etc...
merci, d'avance pour l'aide que vous pourriez m'apporter.
A voir également:
- Boucle pour dupliquer des lignes dans excel
- Dupliquer ecran - Guide
- Liste déroulante excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Dupliquer whatsapp - Guide
3 réponses
Bonjour,
essaye ca :
Mesurer la masse de sa connerie permettrait dans connaitre sa gravité ;)
essaye ca :
Sub test()
numd = 1
For num1 = 1 To 1000 'nombre de ligne max
If Range("a" & num1).Value = "" Then
Sheets("Feuil2").Range("a" & num2 - 1).Value = ""
Sheets("Feuil2").Range("b" & num2 - 1).Value = ""
Exit Sub
End If
a = Range("a" & num1).Value
b = Range("b" & num1).Value
c = Range("c" & num1).Value
For num2 = numd To c + numd
Sheets("Feuil2").Range("a" & num2).Value = a
Sheets("Feuil2").Range("b" & num2).Value = b
Next
numd = numd + c
Next
End Sub
Mesurer la masse de sa connerie permettrait dans connaitre sa gravité ;)
Bonjour,
La méthode fonctionne effectivement. Mais ça implique que la longueur du tableau reste figée à un nombre de ligne et qu'il faut revenir sur le code pour modifier le nombre de lignes si le tableau évolue.
Voilà une méthode qui s'adapte quelque soit la longueur du tableau:
La méthode fonctionne effectivement. Mais ça implique que la longueur du tableau reste figée à un nombre de ligne et qu'il faut revenir sur le code pour modifier le nombre de lignes si le tableau évolue.
Voilà une méthode qui s'adapte quelque soit la longueur du tableau:
Dim Derlig1 As Long Dim Derlig2 As Long Dim nb As Integer Dim i As Long Dim j As Integer Derlig1 = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row For i = 2 To Derlig1 nb = CInt(Sheets(1).Range("C" & i).Value) For j = 1 To nb Derlig2 = Sheets(2).Range("A" & Rows.Count).End(xlUp).Row Sheets(2).Range("A" & derlig2 + 1).Value = Sheets(1).Range("A" & i).Value Sheets(2).Range("B" & derlig2 + 1).Value = Sheets(1).Range("B" & i).Value Next j Next i