1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| Option Explicit
Sub Trier_CRT()
Dim Nbr_Stock As Long, DerLig As Long, Lig_Dest As Long, i As Long, j As Long, Lig_Deb As Long, Couleur As Long
Dim Ref As String
Dim TRI As Worksheet, STOCK As Worksheet
Application.ScreenUpdating = False
Set TRI = ThisWorkbook.Worksheets("Tri")
Set STOCK = ThisWorkbook.Worksheets("Stock")
TRI.Cells.Clear
DerLig = STOCK.ListObjects("Tableau1").DataBodyRange.Rows.Count + 1
Nbr_Stock = STOCK.ListObjects("Tableau1").DataBodyRange.Columns.Count
Lig_Dest = 2
Lig_Deb = 2
For i = 2 To Nbr_Stock
Ref = STOCK.Cells(1, i)
For j = 2 To DerLig
If STOCK.Cells(j, i) <> 0 Then
Range(TRI.Cells(Lig_Dest, "A"), TRI.Cells(Lig_Dest, "C")) = Array(Ref, STOCK.Cells(j, "A"), STOCK.Cells(j, i))
Lig_Dest = Lig_Dest + 1
End If
Next j
Couleur = STOCK.Cells(1, i).Interior.Color
Range(TRI.Cells(Lig_Deb, "A"), TRI.Cells(Lig_Dest - 1, "C")).Interior.Color = Couleur
Lig_Deb = Lig_Dest
Next i
Range(TRI.Cells(1, "A"), TRI.Cells(1, "C")) = Array("DEPOT", "Crt", "Nbr Cop")
Range(TRI.Cells(1, "A"), TRI.Cells(1, "C")).Interior.Color = RGB(191, 191, 191)
TRI.Select
Set TRI = Nothing
Set STOCK = Nothing
End Sub |
Partager