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
... ... ..
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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
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" <nxauNO_SPAM_PLEASE@hotmail.com> wrote in message
news:brn7rm$56vuf$1@ID-183966.news.uni-berlin.de...
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
... ... ..
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 ... ... ..