Copier une ligne / la coller en colonne en sautant 4 cases

Gwanel

XLDnaute Nouveau
Bonjour,


Je voudrais me simplifier la vie avec Excel en automatisant quelques copier/coller.
Pour info, je ne suis pas du tout programmateur et tout ce que je connais de VB je l'ai trouvé dans des forums (et j'y ai trouvé énormément de réponses: Merci à tous ceux qui y participent !!!)

Dans le cas présent, je voudrais copier des cellules d’une ligne et les coller en colonne mais en sautant une ligne à chaque fois. J’y suis arrivé avec la macro suivante :
Sub RECOPIE_DONNEES()

Dim NbreColonnes As Long

' je vais dans ma page SOURCE, je sélectionne ma première cellule et je vais la copier dans ma feuille COPIE:

COPIESheets("SOURCE").Select
Range("G49").Select
Selection.Copy
Sheets("COPIE").Select
Range("G4").Select
ActiveSheet.Paste

' je reviens dans ma page SOURCE, je décale d'une case à droite, je copie,
‘ je vais dans ma page COPIE, je décale de 5 cases vers le bas et je colle
' je répète l'opération 246 fois

For NbreColonnes = 0 To 246

Sheets("SOURCE").Select
ActiveCell.Offset(0, 1).Select
Selection.Copy
Sheets("COPIE").Select
ActiveCell.Offset(5, 0).Select
ActiveSheet.Paste

Next NbreColonnes

End Sub


La macro fonctionne bien.
Seulement, elle traite les cellules une par une avec un aller/retour entre les feuilles à chaque fois.
Compte tenu que j’ai plusieurs lignes et ce dans plusieurs feuilles, le temps de traitement est assez long.
En plus, ma macro est interminable et lorsque je veux modifier un paramètre, je passe plus de temps à le chercher qu'à faire ma modification.

Donc pour simplifier tout ça, je voudrais selectionner/copier une ligne (une action) et la copier directement dans mon autre page en sautant une cellule sur 5.
Pour l'avoir essayer : copier une selection multiple et coller à la suite, ça fonctionne très bien. L'inverse non.

Je sais déjà copier une ligne et la coller en colonne (fonction : coller / transposer):
Range("F4").Activate
Range("F4:L4").Select
Selection.CopyRange("O4").Activate
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=_
False, Transpose:=True

Maintenant, est-ce qu’il est possible modifier cette commande pour qu’au moment de coller, il saute une ligne sur 5 ?

Par avance merci.
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T