Sub formulesCumul()
Set ListeCollaborateurs = Range("FO14:FO23")
For Each Collaborateur In ListeCollaborateurs
lig = Collaborateur.Row
Set DebZone = Range("FO38:FO118").Find(Collaborateur, lookat:=xlWhole)
If Not DebZone Is Nothing Then
zoneCode = DebZone.Offset(1, 0).Resize(7, 1).Address
DebPeriode1 = Range("FP" & DebZone.Row + 1).Resize(7).Address
FinPeriode1 = Range("FR" & DebZone.Row + 1).Resize(7).Address
DebPeriode2 = Range("FS" & DebZone.Row + 1).Resize(7).Address
FinPeriode2 = Range("FU" & DebZone.Row + 1).Resize(7).Address
DebPeriode3 = Range("FX" & DebZone.Row + 1).Resize(7).Address
FinPeriode3 = Range("GB" & DebZone.Row + 1).Resize(7).Address
DebPeriode4 = Range("GE" & DebZone.Row + 1).Resize(7).Address
FinPeriode4 = Range("GI" & DebZone.Row + 1).Resize(7).Address
DebPeriode5 = Range("GL" & DebZone.Row + 1).Resize(7).Address
Finperiode5 = Range("GP" & DebZone.Row + 1).Resize(7).Address
formule = "=IfError(INDEX(" & zoneCode & ",(sumproduct((FU3>=" & DebPeriode1 & ")*(FU3<=" & FinPeriode1 & ")*row(" & zoneCode & "))+sumproduct((FU3>=" & DebPeriode2 & ")*(FU3<=" & FinPeriode2 & ")*row(" & zoneCode & "))+sumproduct((FU3>=" & DebPeriode3 & ")*(FU3<=" & FinPeriode3 & ")*row(" & zoneCode & "))+sumproduct((FU3>=" & DebPeriode4 & ")*(FU3<=" & FinPeriode4 & ")*row(" & zoneCode & "))+sumproduct((FU3>=" & DebPeriode5 & ")*(FU3<=" & Finperiode5 & ")*row(" & zoneCode & ")))-38),"""")"
Range("FU" & lig).Formula = formule
Range("FU" & lig).Resize(1, 365).FillRight
End If
Next Collaborateur
End Sub