Option Explicit
Private Sub Worksheet_Deactivate()
Dim TE(), LE&, TS(), LS&, CDéb&, Actif As Boolean, C&
TE = UsedRange.Value
ReDim TS(1 To 1000, 1 To 5)
For LE = 2 To UBound(TE, 1) - 1
CDéb = 0: Actif = False
For C = 4 To UBound(TE, 2) - 1
If TE(LE, C) = 0 Then GoSub 1 Else If CDéb = 0 Then CDéb = C
If TE(LE, C) = 1 Then Actif = True
Next C
GoSub 1: Next LE
ThisWorkbook.Worksheets("RECAP").[A10:E20].Value = TS
Exit Sub
1: If Actif Then
LS = LS + 1: TS(LS, 1) = TE(LE, 2): TS(LS, 2) = TE(LE, 3)
TS(LS, 3) = TE(1, CDéb): TS(LS, 4) = TE(1, C - 1): TS(LS, 5) = TE(LE, 1): Actif = False: End If
CDéb = 0
Return
End Sub