Résolu 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
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
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas