Je travaille sur le script ci-dessous et j'essaie d'extraire des données d'un autre classeur (cible) dans le classeur source. Le script fonctionne, sauf qu'il ne tire qu'une seule ligne (il devrait tirer 12+). Après un certain débogage, j'ai remarqué qu'il écrasait juste la ligne précédente, donc je me retrouve avec la dernière rangée des données de la cible. Je ne sais pas pourquoi c'est ce qu'il fait. Je n'ai aucune cellule fusionnée et il n'y a rien dans le classeur source.Script VBA Ne pas extraire des données - Chevauchement
Voici le code:
Select Code
Dim salesWB As Workbook
Dim mrpWB As Workbook
Dim Ret As Boolean
Dim SalesStaging As String, SW As Range
SalesStaging = "SalesStaging.xlsm"
Set salesWB = Workbooks.Open(SalesStaging)
Set salesWB = Workbooks("SalesStaging.xlsm")
Set mrpWB = ThisWorkbook
With salesWB.Worksheets("SendToMRP")
For Each SW In .Range(.Cells(2, 1), .Cells(Rows.count, 1).End(3))
With mrpWB.Worksheets("Sales & Returns").Cells(Rows.count, 1).End(xlUp)
.Offset(1, 1) = SW.Offset(0, 0) ' OrderId
.Offset(1, 2) = SW.Offset(0, 1) ' StoreFront
.Offset(1, 3) = SW.Offset(0, 2) ' OrderType
.Offset(1, 4) = SW.Offset(0, 3) ' PurchaseDate
.Offset(1, 5) = SW.Offset(0, 4) ' ShipmentServiceLabelCategory
.Offset(1, 6) = SW.Offset(0, 5) ' Title
.Offset(1, 7) = SW.Offset(0, 6) ' SellersSKU
.Offset(1, 8) = SW.Offset(0, 7) ' QtySold
.Offset(1, 9) = SW.Offset(0, 8) ' ShippingCost
.Offset(1, 10) = SW.Offset(0, 9) ' Discounts
.Offset(1, 11) = SW.Offset(0, 10) ' ItemPrice
' .Offset(0, 0) = SW.Offset(0, 11) ' OrderTotal
.Offset(1, 20) = SW.Offset(0, 12) ' LatestShipDate
.Offset(1, 21) = SW.Offset(0, 13) ' SAState
.Offset(1, 22) = SW.Offset(0, 14) ' SACity
.Offset(1, 23) = SW.Offset(0, 15) ' SAPhone
.Offset(1, 24) = SW.Offset(0, 16) ' SAPostalCode
.Offset(1, 25) = SW.Offset(0, 17) ' SAName
.Offset(1, 26) = SW.Offset(0, 18) ' SAddress
.Offset(1, 27) = SW.Offset(0, 19) ' IsPrime
End With
Next
End With
Vous utilisez le global objet 'rows' - vous devez utiliser' mrpWB.Worksheets ("Sales & retours"). Rows.Count'. – Comintern