Sub trouve()
Dim bse, lng As Long, x As Long, u As Long, sol As String
Dim i As Long, j As Long, plage as string
bse = Selection.Value
lng = UBound(bse, 2) - LBound(bse, 2) - 1
u = bse(1, UBound(bse, 2))
For i = 0 To 2 ^ (lng + 1)
x = 0
For j = 0 To lng
If (i \ (2 ^ j)) Mod 2 Then x = x + bse(1, j + 1)
Next j
If x = u Then
plage = ""
sol = u & "="
For j = 0 To lng
If (i \ (2 ^ j)) Mod 2 Then
'sol = sol & bse(1, j + 1) & "+"
plage = plage & Cells(5, j + 4).Address & ","
End If
Next j
plage = Left$(plage, Len(plage) - 1)
Range(plage).Select
'MsgBox Left$(sol, Len(sol) - 1)
Exit Sub
End If
Next i
End Sub