VBA - Copie partielle d'une ligne

Bonjour à tous,

J'ai commencé il y a peu la partie VBA d'Excel, et j'aurai besoin d'aide.

J'ai un premier onglet "Commande" ou l'on saisi sa commande, et un second onglet "Suivi" qui permet de cumuler toutes les commandes saisies dans le premier onglet.

Mon code actuel fonctionne, mais j'aimerais que excel ne prenne que les colonne allant de "A" à "T", et ne c/c pas le reste.

Cela me permettrai d'ajouter des champs liées à la livraison dans mon onglet "Suivi", à la droite de mes commandes.

Voici mon code actuel :

Dim c As Range
    Dim j As Integer
    Dim w As Range
    Dim Source As Worksheet
    Dim Target As Worksheet

    ' Change worksheet designations as needed
    Set Source = ActiveWorkbook.Worksheets("SAISIE COMMANDE")
    Set Target = ActiveWorkbook.Worksheets("SUIVI COMMANDE")

    j = Sheets("SUIVI COMMANDE").Range("A1000000").End(xlUp).Row + 1

    For Each w In Source.Range("A12:A100000")
        If w <> "" Then
           Source.Rows(w.Row).Copy Target.Rows(j)
           j = j + 1
        End If
    Next w

J'ai du mal a comprendre comment je pourrais modifier ce dernier pour ne prendre en compte qu'une partie de la ligne.

Merci d'avance pour vos éclaircissements

Thomas

Bonjour,

une solution possible :

Dim Target As Worksheet, Source As Worksheet, DL As Long, w As Range
Set Source = ActiveWorkbook.Worksheets("SAISIE COMMANDE")
Set Target = ActiveWorkbook.Worksheets("SUIVI COMMANDE")

j = Target.Range("A1000000").End(xlUp).Row + 1
DL = Source.Range("A" & Rows.Count).End(xlUp).Row
    For Each w In Source.Range("A12:A" & DL)
        If w.Value <> "" Then
           Source.Cells(w.Row, 1).Resize(, 20).Copy Target.Cells(j, 1)
           j = j + 1
        End If
    Next

A+

Bonjour AlgoPlus,

Parfait, merci beaucoup pour ton retour, cela fonctionne !

Bonne journée

Rechercher des sujets similaires à "vba copie partielle ligne"