Boucle VBA et incrementation
Résolu
Mo one
Messages postés
7
Statut
Membre
-
Mo one Messages postés 7 Statut Membre -
Mo one Messages postés 7 Statut Membre -
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.