VBA - copier cellules d'une colonne vers d'autres cellules avec incrémentation

jackslayter

XLDnaute Nouveau
Bonjour,
j'ai pu jusqu'à présent utiliser les réponses aux topics pour faire mon classeur mais la je trouve rien sur ce que je veux faire.
j'ai une feuille avec une colonne, dans cette colonne il y a plusieurs cellules à la suite avec un nombre aléatoire de cellules pleines.
Ces cellules de cette colonne je veux les copier sur une autre feuille suivant un schéma (A1 C1 E1 A6 C6 E6 A11 C11 E11 ......) le tout incrémenté ( feuille1 A1 -> Feuille2 A1, feuille1 A2 -> Feuille2 C1, feuille1 A3 -> Feuille2 E1, feuille1 A4 -> Feuille2 A6, ...).

Je suis obligé de passer par une macro car il faut que la copie soit avec la mise en forme de la source.

Avez vous une idée ?

Merci et bonne journée
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Jack, bonjour le forum,

Essaie comme ça (à adapter) :

VB:
Sub Macro1()
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim LI As Integer 'déclare la variable LI (LIgne)
Dim I As Integer 'déclare la variable I (Incrément)

Set OS = Worksheets("Feuil1") 'définit l'onglet OS (à adapter à ton cas)
Set OD = Worksheets("Feuil2") 'définit l'onglet OD (à adapter à ton cas)
DL = OS.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'onglet Source
LI = 1 'initialise la variable LI
For I = 1 To DL Step 3 'boucle des lignes 1 à DL par pas de 3
    OS.Cells(I, "A").Copy OD.Cells(LI, "A") 'copy la cellule ligne I colonne A de l'onglet OS et la colle dans la cellule ligne LI colonne A
    OS.Cells(I + 1, "A").Copy OD.Cells(LI, "C") 'copy la cellule ligne I+1 colonne A de l'onglet OS et la colle dans la cellule ligne LI colonne C
    OS.Cells(I + 2, "A").Copy OD.Cells(LI, "E"): LI = LI + 5 'copy la cellule ligne I+2 colonne A de l'onglet OS et la colle dans la cellule ligne LI colonne E, redéfinit la ligne L
Next I 'prochaine ligne de la boucle
End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 812
dernier inscrit
abdouami