Formater une chaîne composée

Contenu du snippet

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" 

Compatibilité : VB6, VBA

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.