Boucle pour dupliquer des lignes dans excel
Pliskhy
-
Polux31 Messages postés 7219 Statut Membre -
Polux31 Messages postés 7219 Statut Membre -
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
- Word et excel gratuit - Guide
- Écrire plusieurs lignes dans une cellule excel mac - Guide
- Déplacer colonne excel - 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