For C = 1 To 10: TS(1, C) = Choose(C, "OP", "DPT", "SITE", "SUB", _
"", "", "A+D+F", "B+C+G", "E", "Total"): Next C
Set DCols = New Dictionary
For C = 7 To 9: TSpl = Split(TS(1, C), "+")
For N = 0 To UBound(TSpl): DCols(TSpl(N)) = C: Next N, C
TE = ColUti(FBase.[A5:P5]).Value
For L = 1 To UBound(TE, 1)
If Not DCols.Exists(TE(L, 16)) Then MsgBox "Statut """ & TE(L, 16) & """ non prévu.", vbCritical: Exit Sub
TE(L, 16) = DCols(TE(L, 16)): Next L
L = 1
For Each OP In Gigogne(TE, 10, 1, 2, 16)