OVH Cloud OVH Cloud

Macro pour replication des lignes

2 réponses
Avatar
N! Xau
Salut,
j'ai besoin d'aide avec un macro qui fait de suite:
- lire le nombre N dans la colonne C du range' courant.
- inserer N-1 ranges au dessou
- copier les donnes dans colonnes A et B

Par example, avant:

A B C
donneA2 donneB2 3
donneA3 donneB3 1
donneA4 donneB4 5
... ... ..

et apres:

A B C
donneA2 donneB2 3
donneA2 donneB2
donneA2 donneB2
donneA3 donneB3 1
donneA4 donneB4 5
donneA4 donneB4
donneA4 donneB4
donneA4 donneB4
donneA4 donneB4
... ... ..


merci pour l'aide
N! Xau

2 réponses

Avatar
AV
Teste ça :

Sub zz_truc_machin()
For i = [C65536].End(3).Row To 2 Step -1
For j = 1 To Cells(i, "C").Value - 1
Range(Cells(i + 1, "A"), Cells(i + 1, "C")).Insert
Next
Range(Cells(i + 1, "A"), Cells(i + Cells(i, "C").Value - 1, "B")).Value _
= Range(Cells(i, "A"), Cells(i, "B")).Value
Next
End Sub

AV
Avatar
Daniel.M
Salut,

Si tu acceptes de générer tes données sur une autre plage.

Sub TestMult()
MultiplieLignes2Cols Range("A1").CurrentRegion, Range("E1")
End Sub


Sub MultiplieLignes2Cols(Source As Range, Dest As Range)
Dim i&, j&, k&

k = 1
For i = 1 To Source.Rows.Count
j = Source(i, 3)
Dest(k, 1).Resize(j, 1) = Source(i, 1)
Dest(k, 2).Resize(j, 1) = Source(i, 2)
Dest(k, 3) = j
k = k + j
Next i
End Sub

Salutations,

Daniel M.

"N! Xau" wrote in message
news:brn7rm$56vuf$
Salut,
j'ai besoin d'aide avec un macro qui fait de suite:
- lire le nombre N dans la colonne C du range' courant.
- inserer N-1 ranges au dessou
- copier les donnes dans colonnes A et B

Par example, avant:

A B C
donneA2 donneB2 3
donneA3 donneB3 1
donneA4 donneB4 5
... ... ..

et apres:

A B C
donneA2 donneB2 3
donneA2 donneB2
donneA2 donneB2
donneA3 donneB3 1
donneA4 donneB4 5
donneA4 donneB4
donneA4 donneB4
donneA4 donneB4
donneA4 donneB4
... ... ..


merci pour l'aide
N! Xau