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
| Sub test()
Dim Plage As Range, L1 As Integer, L2 As Integer, Ligne As Long
With Sheets("Saisie")
'N° de ligne de la feuille Saisie hebdo
Ligne = 3
'calcul des pplages hebdo sur la feuille Saisie
For i = 1 To 53
Ligne = Ligne + 1
'L1 est la première ligne de la semaine et L2 la dernière
If i = 1 Then
L1 = 5
L2 = 7 - Weekday(.Cells(L1, 3), 2) + L1
ElseIf i = 53 Then
L1 = L2 + 1
L2 = Application.Match("Global", .[B:B], 0) - 1
Else
L1 = L2 + 1
L2 = L1 + 6
End If
'définition de la plage hebdo
Set Plage = .Range("B" & L1 & ":B" & L2)
With Sheets("Suivi hebdo")
'recopies
.Cells(Ligne, 2) = Application.Sum(Plage.Offset(, 7))
.Cells(Ligne, 3) = Application.Sum(Plage.Offset(, 8))
.Cells(Ligne, 4) = Application.Max(Plage.Offset(, 9))
End With
Next i
End With
End Sub |
Partager