Function ConcatPlage(plage As Range, séparateur As String, Optional contenant As String) As String
Dim rep As String, c As Range
For Each c In plage
If InStr(c.Value, contenant) > 0 And c.Value <> "-" Then
rep = rep & c.Value & séparateur
End If
Next c
ConcatPlage = Left(rep, Len(rep) - Len(séparateur))
End Function