Copier / Coller bloc de lignes, x fois
Bonjour à tous,
J'apprends peu VBA tout seul au boulot et je galère un peu pour obtenir de l'aide.
En gros j'aurais besoin d'une macro qui sélectionne un bloc de lignes (50 environ, contenant des formules de calcul, un module en quelque sorte), et qui copie-colle x lignes en dessous du bloc du dessus, x fois,
Toute aide est la bienvenue, je peux envoyer un fichier neutre au besoin,
Merci d'avance,
J'apprends peu VBA tout seul au boulot et je galère un peu pour obtenir de l'aide.
En gros j'aurais besoin d'une macro qui sélectionne un bloc de lignes (50 environ, contenant des formules de calcul, un module en quelque sorte), et qui copie-colle x lignes en dessous du bloc du dessus, x fois,
Toute aide est la bienvenue, je peux envoyer un fichier neutre au besoin,
Merci d'avance,
Configuration: Windows / Firefox 78.0
2 réponses
-
Contributeur Ambassadeurbonjour,
ton explication est assez floue.
veux tu recopier plusieurs fois un bloc de lignes, en dessous de ce bloc, en sautant à chaque fois un certain nombre de lignes?
commence par créer une macro qui fait la premiere copie, en utilisant l'enregistreur de macros.
montre-nous ensuite le code généré, nous pourrons sans doute t'aider à l'adapter. -
Bonjour,
Merci de ta réponse,
Voici le texte de la macro lors d'un enregistrement manuel,
Sub Macro1()
'
' Macro1 Macro
'
'
Rows("12:12").Select
ActiveWindow.SmallScroll Down:=57
Rows("12:86").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=9
Rows("88:88").Select
ActiveSheet.Paste
End Sub
J'aimerais répéter ça x fois, en décalant à chaque fois du même espacement, pour arriver à x nombre de modules de calcul,
Merci d'avance de ton aide,
Cdt,-
Contributeur Ambassadeursuggestion:
Sub Macro1() Dim rgsource As Range, rgdest As Range, i As Integer, x As Integer, nrows As Long x = 2 Set rgsource = Intersect(ActiveSheet.UsedRange, ActiveSheet.Rows("12:86")) nrows = rgsource.Rows.Count Set rgdest = rgsource For i = 1 To x Set rgdest = rgdest.Offset(1 + nrows, 0) rgsource.Copy rgdest Next i End Sub
-