Boucle VBA et incrementation
Résolu
Mo one
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Mo one Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Mo one Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voici un code que je voudrais répéter 96 fois pour réordonnées mes données. Merci d'avance pour la solution
Sub Macro5()
'
' Macro5 Macro
' Macro enregistrée le 7/07/2011 par Nicolas Vignier
'
'
Range("A3:A7").Select
Selection.Copy
Range("B2").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=True
Rows("3:7").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Range("A4:A8").Select
Selection.Copy
Range("B3").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=True
Rows("4:8").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
End Sub
Voici un code que je voudrais répéter 96 fois pour réordonnées mes données. Merci d'avance pour la solution
Sub Macro5()
'
' Macro5 Macro
' Macro enregistrée le 7/07/2011 par Nicolas Vignier
'
'
Range("A3:A7").Select
Selection.Copy
Range("B2").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=True
Rows("3:7").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Range("A4:A8").Select
Selection.Copy
Range("B3").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=True
Rows("4:8").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
End Sub
6 réponses
Que veux-tu exactement ?
Juste répéter 96 fois la macro "macro5" ? Sans rien changer dans la macro ?
Juste répéter 96 fois la macro "macro5" ? Sans rien changer dans la macro ?
J'ai en entré 576 valeurs en colonnes
1
2
3
4
5
6
1
2
3
4
5
6
etc
et je veux en sortie
1 2 3 4 5 6
1 2 3 4 5 6
etc
1
2
3
4
5
6
1
2
3
4
5
6
etc
et je veux en sortie
1 2 3 4 5 6
1 2 3 4 5 6
etc
Slt Thordek
sur
range(n1:n2).Select
le compilateur reponds
attenduseparateur de liste ou) attendu
J'ai essayé Range("n1:n2").Select
Pas mieux.
sur
range(n1:n2).Select
le compilateur reponds
attenduseparateur de liste ou) attendu
J'ai essayé Range("n1:n2").Select
Pas mieux.
Bonjour
tes nombres en colonne A, restitution à partir de B3
Michel
tes nombres en colonne A, restitution à partir de B3
Option Explicit Option Base 1 Sub faire_matrice_6() Dim Fin As Integer, Nbre As Integer, Max As Byte Dim T_in(), T_out() Dim Cptr_in As Integer, Cptr_out As Integer, col As Byte Fin = Columns("A").Find("*", Range("A1"), , , , xlPrevious).Row T_in = Application.Transpose(Range("A1:A" & Fin).Value) Nbre = UBound(T_in) Max = Int(Nbre / 6) ReDim T_out(Max, 6) Cptr_out = 1 For Cptr_in = 1 To Nbre For col = 1 To 6 T_out(Cptr_out, col) = T_in(Cptr_in) Cptr_in = Cptr_in + 1 Next Cptr_out = Cptr_out + 1 Cptr_in = Cptr_in - 1 Next Application.ScreenUpdating = False Range("C2").Resize(Max, 6) = T_out End Sub
Michel
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Slt,
Je m'en suis sorti avec ce code
For i = 1 To 576
n1 = "A" & (i + 1)
n2 = "A" & (i + 5)
n3 = "B" & i
plage1 = n1 & ":" & n2
Range(plage1).Select
Selection.Copy
Range(n3).Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=True
Range(plage1).Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Next i
Merci à tous pour vos conseil et recette.
Je m'en suis sorti avec ce code
For i = 1 To 576
n1 = "A" & (i + 1)
n2 = "A" & (i + 5)
n3 = "B" & i
plage1 = n1 & ":" & n2
Range(plage1).Select
Selection.Copy
Range(n3).Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=True
Range(plage1).Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Next i
Merci à tous pour vos conseil et recette.