Sub Macro1()
Dim dl As Long 'déclare la variable dl (dernière Ligne)
Dim i As Long 'déclare la varialbe i (Incrément)
Application.ScreenUpdating = False 'masque les changements à l'écran
With Sheets("relevés compteurs EDF") 'prend en compte l'onglet "relevés compteurs EDF"
dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne dl
For i = dl To 2 Step -1 'boucle inversée sur toutes les cellules en colonne A des lignes dl à 2
If Application.WorksheetFunction.Weekday(Cells(i, 1)) = 1 Then 'condition 1 : si la jour de la date de la cellule est une dimanche
.Rows(i + 1).Insert shift:=xlShiftDown 'insère une ligne une ligne en dessous de la cellule
.Cells(i + 1, 1).Value = "Total Semaine " & .Cells(i, 6).Value 'place l'étiquette "Total Semaine..." en colonne A
If i > 8 Then 'condition 2 : si la ligne est supérieure à 8
.Cells(i + 1, 2).FormulaR1C1 = "=SUM(R[-7]C:R[-1]C)" 'place la formule de la somme en colonne B
.Cells(i + 1, 3).FormulaR1C1 = "=SUM(R[-7]C:R[-1]C)" 'place la formule de la somme en colonne C
.Cells(i + 1, 4).FormulaR1C1 = "=SUM(R[-7]C:R[-1]C)" 'place la formule de la somme en colonne D
End If 'fin de la condition 2
.Range(.Cells(i + 1, 1), .Cells(i + 1, 4)).Interior.ColorIndex = 15 'colore la ligne de gris
.Rows(i + 2).Insert shift:=xlShiftDown 'insère une ligne deux lignes en dessous de la cellule
.Cells(i + 2, 1).Value = "Moyenne Semaine " & .Cells(i, 6).Value 'place l'étiquette "Moyenne Semaine..." en colonne A
If i > 8 Then 'condition 3 : si la ligne est supérieure à 8
.Cells(i + 2, 2).FormulaR1C1 = "=AVERAGE(R[-8]C:R[-2]C)" 'place la formule de la moyenne en colonne B
.Cells(i + 2, 3).FormulaR1C1 = "=AVERAGE(R[-8]C:R[-2]C)" 'place la formule de la moyenne en colonne C
.Cells(i + 2, 4).FormulaR1C1 = "=AVERAGE(R[-8]C:R[-2]C)" 'place la formule de la moyenne en colonne D
End If 'fin de la condition 3
End If 'fin de la condition 1
Next i 'prochaine cellule de la boucle
End With 'fin de la prise en compte de l'onglet "relevés compteurs EDF"
Application.ScreenUpdating = True 'affiche les changements à l'écran
End Sub