Function Joindre$(P As Range, Q As Range)
Dim d As Object, i As Byte, a, b
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To 5
If P(i) <> "" And Q(i) <> 0 Then d(P(i).Value) = d(P(i).Value) + 1
Next
If d.Count = 0 Then Exit Function
a = d.keys: b = d.items
For i = 0 To UBound(a)
Joindre = Joindre & " " & IIf(b(i) = 1, "", b(i)) & a(i)
Next
Joindre = LTrim(Joindre)
End Function