Boucle dans macro excel
inquisiteur 57
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
n'étant pas un pro Vba
j'aimerais inlure la macro ci dessous dans une boucle qui s'arrette à la derniere cellule vide + 5 de la colonne E
et ne plus obbliger la macro à remplir 3333 lignes ce qui la ralenti ( +/- 1 MINUTE )
je ne sais pas si je dois partir avec While ou Do Loop ou For ??? et comment la rédiger
cette macro à été réalisée en enregistrement direct et très légérement épurée
Sub Recopie_formules_dans_Matrice()
'
' Macro jcr le 18/12/12
Sheets("Matrice").Select
Rows("1:3").Select
Selection.EntireRow.Hidden = False
Rows("2:2").Select
Selection.Copy
Rows("9:3333").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("T2").Select
Range("A9:A12").Select
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("A9:A3333"), Type:=xlFillDefault
Range("A9:A3333").Select
Range("P2:Q2").Select
Selection.Copy
Range("P9:Q3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("P9:Q3333,T1,V1:W1").Select
Range("V2").Activate
Application.CutCopyMode = False
Range("T2").Select
Selection.Copy
Range("T9:T3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("V2:x2").Select
Application.CutCopyMode = False
Selection.Copy
Range("V9:x3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("aa2").Select
Application.CutCopyMode = False
Selection.Copy
Range("aa9:aa3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("Af2:Ag2").Select
Application.CutCopyMode = False
Selection.Copy
Range("Af9:Ag48").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("Ak2:Aq2").Select
Application.CutCopyMode = False
Selection.Copy
Range("Ak9:Aq3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("As2:ba2").Select
Application.CutCopyMode = False
Selection.Copy
Range("As9:ba3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("be2").Select
Application.CutCopyMode = False
Selection.Copy
Range("be9:be3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("bg2:bi2").Select
Application.CutCopyMode = False
Selection.Copy
Range("bg9:bi3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("Bk2").Select
Application.CutCopyMode = False
Selection.Copy
Range("Bk9:Bk3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("Bm2:bo2").Select
Application.CutCopyMode = False
Selection.Copy
Range("Bm9:Bo3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("Br2:cf2").Select
Application.CutCopyMode = False
Selection.Copy
Range("Br9:cf3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Rows("2:2").Select
Selection.EntireRow.Hidden = True
Range("B45").Select
End Sub
je vous en remercie par avance
n'étant pas un pro Vba
j'aimerais inlure la macro ci dessous dans une boucle qui s'arrette à la derniere cellule vide + 5 de la colonne E
et ne plus obbliger la macro à remplir 3333 lignes ce qui la ralenti ( +/- 1 MINUTE )
je ne sais pas si je dois partir avec While ou Do Loop ou For ??? et comment la rédiger
cette macro à été réalisée en enregistrement direct et très légérement épurée
Sub Recopie_formules_dans_Matrice()
'
' Macro jcr le 18/12/12
Sheets("Matrice").Select
Rows("1:3").Select
Selection.EntireRow.Hidden = False
Rows("2:2").Select
Selection.Copy
Rows("9:3333").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("T2").Select
Range("A9:A12").Select
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("A9:A3333"), Type:=xlFillDefault
Range("A9:A3333").Select
Range("P2:Q2").Select
Selection.Copy
Range("P9:Q3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("P9:Q3333,T1,V1:W1").Select
Range("V2").Activate
Application.CutCopyMode = False
Range("T2").Select
Selection.Copy
Range("T9:T3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("V2:x2").Select
Application.CutCopyMode = False
Selection.Copy
Range("V9:x3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("aa2").Select
Application.CutCopyMode = False
Selection.Copy
Range("aa9:aa3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("Af2:Ag2").Select
Application.CutCopyMode = False
Selection.Copy
Range("Af9:Ag48").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("Ak2:Aq2").Select
Application.CutCopyMode = False
Selection.Copy
Range("Ak9:Aq3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("As2:ba2").Select
Application.CutCopyMode = False
Selection.Copy
Range("As9:ba3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("be2").Select
Application.CutCopyMode = False
Selection.Copy
Range("be9:be3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("bg2:bi2").Select
Application.CutCopyMode = False
Selection.Copy
Range("bg9:bi3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("Bk2").Select
Application.CutCopyMode = False
Selection.Copy
Range("Bk9:Bk3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("Bm2:bo2").Select
Application.CutCopyMode = False
Selection.Copy
Range("Bm9:Bo3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("Br2:cf2").Select
Application.CutCopyMode = False
Selection.Copy
Range("Br9:cf3333").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Rows("2:2").Select
Selection.EntireRow.Hidden = True
Range("B45").Select
End Sub
je vous en remercie par avance
A voir également:
- Boucle dans macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
1 réponse
Bonjour,
M'étonne pas :-)
Dans la ligne 2 tu met les formules qu'il faut dans les bonnes colonnes, tu met les format cellule comme tu les veux, bref, tu arrange la ligne 2 comme tu veux que toute la feuille soit.
ensuite tu emploi le code
Vu qu'apparemment ta feuille est vide à part la ligne 2, c'est pas possible de calculer tes 3333 à l'avance !!
A+
M'étonne pas :-)
Dans la ligne 2 tu met les formules qu'il faut dans les bonnes colonnes, tu met les format cellule comme tu les veux, bref, tu arrange la ligne 2 comme tu veux que toute la feuille soit.
ensuite tu emploi le code
Sub Recopie_ligne() 'lermite 28/3/2013 Application.ScreenUpdating = False With Sheets("Matrice") .Rows(2).Hidden = False .Rows(2).Copy .Rows("9:3333") .Rows(2).Hidden = True .Range("B45").Select End With End Sub
Vu qu'apparemment ta feuille est vide à part la ligne 2, c'est pas possible de calculer tes 3333 à l'avance !!
A+