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 SubLà 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 !
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 !