Public Function FormatString(ByVal Format As String, ParamArray Args() As Variant) As String
If UBound(Args) > -1 Then
Dim i As Integer
Dim iArg As Integer
Do
Dim sArg As String: sArg = "{" & i & "}"
iArg = InStr(1, Format, sArg)
If iArg > 0 Then Format = Replace$(Format, sArg, Args(i))
i = i + 1
Loop While (iArg > 0 And UBound(Args) + 1 > i)
End If
FormatString = Format
End Function
' Exemple d'utilisation :
MsgBox FormatString("Bonjour {0}, tu vas {1} ? On est le {2} aujourd'hui", "toi", "bien", Date)
' Affichera "Bonjour toi, tu vas bien ? On est le 9/18/2007 aujourd'hui"