Sub Concatenation()
Dim t
t = Timer
[P3].FormulaArray = "=MatConcat(IF(SUBTOTAL(3,OFFSET(C2:N2,ROW(INDIRECT(""1:""&MATCH(""zzz"",B:B))),)),OFFSET(B2,1,,MATCH(""zzz"",B:B)),""""),"", "")"
[P3] = [P3].Value
MsgBox "Durée " & Format(Timer - t, "0.00 \s"), , "Concaténation"
End Sub