Sub trier()
Dim n As Integer
Dim l As Integer
Dim i As Integer
p = Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(2, 1).Value
Worksheets("Code_barre").Select
Range(Cells(3, 1), Cells(p, 7)).Sort Key1:=Cells(3, 6), Key2:=Cells(3, 7)
Worksheets("feuil1").Select
k = 10
i = 3
m = 4
n = 1
'vérifie tous les codes barres
For m = 4 To p
n = 1
If Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(m + n - 1, 7) <> Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(m + n - 2, 7) Then
m = m + 1
End If
While Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(m + n - 1, 6) = Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(m + n - 2, 6) And m < p And Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(m + n - 1, 7) = Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(m + n - 2, 7)
n = n + 1
Wend
Workbooks("Cartonette1.xlsm").Sheets("Feuil1").Cells(k, i + 1) = n
If Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(m + n - 2, 7) <> Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(m + n - 3, 7) Then
m = m - 1
End If
Workbooks("Cartonette1.xlsm").Sheets("Feuil1").Cells(k, i) = Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(m, 7)
If Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(m + 1, 6) <> Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(m, 6) Then
k = k + 1
i = 3
GoTo 20
End If
Workbooks("Cartonette1.xlsm").Sheets("Feuil1").Cells(k, 1) = Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(m, 6)
Workbooks("Cartonette1.xlsm").Sheets("Feuil1").Cells(k, 2) = Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(m, 2)
If Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(m, 6) = Workbooks("Cartonette1.xlsm").Sheets("Code_barre").Cells(m - 1, 6) And m < p Then
i = i + 2
20
End If
Next
m = 10
i = 3
k = i
C = i
n = 1
For m = 10 To 17
For C = 3 To 19 Step 2
n = 1
l = C
While Workbooks("Cartonette1.xlsm").Sheets("Feuil1").Cells(m, C) = Workbooks("Cartonette1.xlsm").Sheets("Feuil1").Cells(m, C + 2)
C = C + 2
n = n + 1
If C >= 21 Then
GoTo 30
End If
Wend
30
If n >= 2 Then
Do Until C >= 21
Workbooks("Cartonette1.xlsm").Sheets("Feuil1").Cells(m, l + 2) = Workbooks("Cartonette1.xlsm").Sheets("Feuil1").Cells(m, C + 2)
Workbooks("Cartonette1.xlsm").Sheets("Feuil1").Cells(m, l + 3) = Workbooks("Cartonette1.xlsm").Sheets("Feuil1").Cells(m, C + 3)
C = C + 1
l = l + 1
Loop
End If
Next C
Next m
End Sub