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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| Public Sub grouper_col()
Application.ScreenUpdating = False ' pour aller plus vite
Set ma_feuille = ThisWorkbook.Sheets("2011(20-80)")
c_in1 = 1
l_in1 = 4
c_out1 = 10
l_out1 = 4
Do While Not IsEmpty(ma_feuille.Cells(l_in1, c_in1))
If (ma_feuille.Cells(l_in1, c_in1 + 7).Value <> "x") Then
val1 = ma_feuille.Cells(l_in1, c_in1)
val2 = ma_feuille.Cells(l_in1, c_in1 + 1)
ma_feuille.Cells(l_out1, c_out1).Value = val1
ma_feuille.Cells(l_out1, c_out1 + 1).Value = val2
sum1 = ma_feuille.Cells(l_in1, c_in1 + 2)
sum2 = ma_feuille.Cells(l_in1, c_in1 + 3)
sum3 = ma_feuille.Cells(l_in1, c_in1 + 4)
sum4 = ma_feuille.Cells(l_in1, c_in1 + 5)
sum5 = ma_feuille.Cells(l_in1, c_in1 + 6)
l_in2 = l_in1 + 1
Do While Not IsEmpty(ma_feuille.Cells(l_in2, c_in1))
If (ma_feuille.Cells(l_in2, c_in1).Value = val1 _
And ma_feuille.Cells(l_in2, c_in1 + 7).Value <> "x") Then
sum1 = sum1 + ma_feuille.Cells(l_in2, c_in1 + 2).Value
sum2 = sum2 + ma_feuille.Cells(l_in2, c_in1 + 3).Value
sum3 = sum3 + ma_feuille.Cells(l_in2, c_in1 + 4).Value
sum4 = sum4 + ma_feuille.Cells(l_in2, c_in1 + 5).Value
sum5 = sum5 + ma_feuille.Cells(l_in2, c_in1 + 6).Valu
ma_feuille.Cells(l_in2, c_in1 + 7).Value = "x"
End If
l_in2 = l_in2 + 1
Loop
' Ecrit la somme
'ma_feuille.Cells(l_out1, c_out1).Value = val1
ma_feuille.Cells(l_out1, c_out1 + 2).Value = sum1
ma_feuille.Cells(l_out1, c_out1 + 3).Value = sum2
ma_feuille.Cells(l_out1, c_out1 + 4).Value = sum3
ma_feuille.Cells(l_out1, c_out1 + 5).Value = sum4
ma_feuille.Cells(l_out1, c_out1 + 6).Value = sum5
l_out1 = l_out1 + 1
End If
l_in1 = l_in1 + 1
Loop
Application.ScreenUpdating = True
End Sub |