Sub Tirages()
Dim s, a(1 To 4), i, n
s = Int(Val([A1]))
If s < UBound(a) Then [B1:B4].ClearContents: Exit Sub
Randomize
Do
For i = 1 To 4: a(i) = 1 + Int(s * Rnd): Next
n = n + 1
Loop While Application.Sum(a) <> s
[B1:B4] = Application.Transpose(a)
MsgBox Format(n, "#,##0") & " itérations"
End Sub