ça marche
Aller j'ai encore simplifié le code.
Sub programmeprincipalv2()
Dim recap As Worksheet
Dim sh4 As Worksheet
Dim X As Long
Dim sh1 As Worksheet
Application.ScreenUpdating = False
Set sh1 = Sheets("Feuil1")
sh1.Range("calcul").ClearContents
'compte nombre de feuille
y = Sheets.Count
For i = y To 2 Step -1
Set sh4 = Sheets(i)
LastRow = sh4.Cells(sh4.Rows.Count, "J").End(xlUp).Row
For X = 4 To LastRow
Select Case sh4.Cells(X, "J")
Case "A-man"
With sh1
.Range(.Cells(2, i), .Cells(2, i)) = sh4.Cells(X, "F") + .Range(.Cells(2, i), .Cells(2, i))
End With
Case "B-man"
With sh1
.Range(.Cells(3, i), .Cells(3, i)) = sh4.Cells(X, "F") + .Range(.Cells(3, i), .Cells(3, i))
End With
Case "C-man"
With sh1
.Range(.Cells(4, i), .Cells(4, i)) = sh4.Cells(X, "F") + .Range(.Cells(4, i), .Cells(4, i))
End With
Case "D-man"
With sh1
.Range(.Cells(5, i), .Cells(5, i)) = sh4.Cells(X, "F") + .Range(.Cells(5, i), .Cells(5, i))
End With
Case "E-man"
With sh1
.Range(.Cells(6, i), .Cells(6, i)) = sh4.Cells(X, "F") + .Range(.Cells(6, i), .Cells(6, i))
End With
End Select
Next X
Next i
MsgBox "Calcul terminé"
End Sub
Bonne journée