Copier / Coller bloc de lignes, x fois
Balsam021
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
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
A voir également:
- Copier / Coller bloc de lignes, x fois
- Site x - Guide
- Historique copier coller - Guide
- Sites X : Pornhub, YouPorn et Redtube sont de nouveau accessibles en France - Guide
- Copier coller pdf - Guide
- Copier-coller - Accueil - Informatique
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
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.
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,
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,
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,
suggestion:
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