Comme prévu, ça prend un peu de temps :
Sub decoupe()
Const lig1 As Long = 14 ' 1ère ligne de données
Dim datas, lig As Long, j As Long, j2 As Long
datas = Cells(lig1, "H").Resize(Cells(Rows.Count, "H").End(xlUp).Row - lig1 + 1).Value ' colonne Date
Application.ScreenUpdating = False
For lig = UBound(datas) To 1 Step -1
j2 = j
j = Weekday(datas(lig, 1))
If (j = 2 Or j = 5) And j <> j2 Then
With Cells(lig + lig1, 1).Resize(, 9)
.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
.Offset(-1).ClearFormats
End With
End If
Next lig
End Sub
eric
PS : je ne me sert pas de Day, tu peux supprimer la colonne, et mettre .Resize(, 8) au lieu de .Resize(, 9)