Boucle pour copie sur 2e onglet

Bonjour à tous !

Voilà mon projet : j'ai un premier onglet avec des données à saisir (nouveaux articles)

Le deuxième onglet contient l'ensemble de tous les articles (base de données)

Quand un nouveau produit arrive, mon apprenti peut saisir les données de base. La macro va copier ces données sur le 2e onglet sur lequel je travaille pour différents calculs.

Sub Créer_LPG()
Dim shCA As Worksheet, shLPG As Worksheet
Set shLPG = Sheets("Liste de Prix Générale")
Set shCA = Sheets("Création article")

    Row = lastRow(shLPG) + 1

        'shLPG.Unprotect ""

        shLPG.Cells(Row, 1) = shCA.Cells(8, 1) 'Fournisseur
        shLPG.Cells(Row, 2) = shCA.Cells(8, 2) 'Marque
        shLPG.Cells(Row, 3) = shCA.Cells(8, 3) 'Référence
        shLPG.Cells(Row, 4) = shCA.Cells(8, 4) 'Désignation
        shLPG.Cells(Row, 5) = shCA.Cells(8, 5) 'EAN
        shLPG.Cells(Row, 6) = shCA.Cells(8, 6) 'Nb unité
        shLPG.Cells(Row, 7) = shCA.Cells(8, 7) 'PA HT
        shLPG.Cells(Row, 8) = shCA.Cells(8, 8) 'Supplément
        shLPG.Cells(Row, 9) = shCA.Cells(8, 9) 'Devise

        shLPG.Cells(Row, 10) = "=IF(RC[-1]=""CHF"",(RC[-3]+RC[-2]),IF(RC[-1]=""€"",(RC[-3]+RC[-2])*1.2,IF(RC[-1]=""$"",(RC[-3]+RC[-2])*2,""Erreur"")))"
        shLPG.Cells(Row, 12) = "=(RC[-1]-RC[-2])/RC[-1]"
        shLPG.Cells(Row, 14) = "=RC[-3]-(RC[-3]*RC[-1])"
        shLPG.Cells(Row, 15) = "=(RC[-1]-RC[-5])/RC[-1]"
        shLPG.Cells(Row, 16) = "=RC[-5]-(RC[-5]*RC[-3])"
        shLPG.Cells(Row, 17) = "=RC[-1]-100*(RC[-1]/107.7)"
        shLPG.Cells(Row, 18) = "=RC[-2]-RC[-1]"
        shLPG.Cells(Row, 19) = "=(RC[-8]-RC[-1])/RC[-8]"

            'Adapter les largeurs de colonnes
            shLPG.Columns("A:S").AutoFit

            'Tri shLPG
            Application.ScreenUpdating = False
            With shLPG.Range("A" & 2 & ":S" & Row)
            .Sort key1:=.Cells(1, 1), order1:=xlAscending, _
            key2:=.Cells(1, 2), order2:=xlAscending, _
            key3:=.Cells(1, 3), order3:=xlAscending, _
            Header:=xlNo
            End With

        'shLPG.Protect ""
End Sub

Là où je bloque c'est s'il y a plusieurs lignes sur mon premier onglet.

Je ne sais pas quelle Loop utiliser, ni comment (je suis grand débutant) pour que la recopie se fasse d'un onglet à l'autre jusqu'à ce qu'il n'y ait plus de ligne sur le premier onglet.

Pouvez-vous m'orienter ou me dire si ma demande n'est pas assez clair.

Un grand merci et à très vite !

10liste-de-prix.xlsm (29.63 Ko)

Bonjour

Un essai à tester. Te convient-il ?

Bye !

Yeahhh ! Exactement !

Et je comprends bien ton code, ça va m'aider à simplifier. Le fait que mes cellules soient recopiées dans la même séquence permet d'utiliser j qui parcours une cellule après l'autre et une fois arrivé à 9, il repart sur le prochain i.

C'est génial, je te remercie beaucoup et bon dimanche !

Rechercher des sujets similaires à "boucle copie onglet"