Remplace une chaîne de caractères en un tableau de chaîne de caractères

Contenu du snippet

Ligne est la chaîne de caractère à diviser
sep est la chaîne qui délimite le tableau
Rubs est le tableau en sortie
NbRubs le nombres de chaînes dans le tableau

ex :
Dim rub() As String
Dim nbrub As Integer

nbrub = 0
ParseLigne "bla/truc/re", "/", rub, nbrub

Source / Exemple :


Public Sub ParseLigne(ByVal Ligne As String, ByVal sep As String, Rubs() As String, nbRubs As Integer)

  Dim sRub    As String
  Dim iSep    As Integer
  Dim lgSep   As Integer
  Dim Fin     As Boolean
  
  nbRubs = 0
  Erase Rubs
  lgSep = Len(sep)
  If (lgSep = 0) Then Exit Sub
  Do
    
    DoEvents
    iSep = InStr(Ligne, sep)
    If (iSep = 0) Then
      sRub = Ligne
      Fin = True
    Else
      sRub = Left$(Ligne, (iSep - 1))
      If ((iSep + lgSep) > Len(Ligne)) Then
        Ligne = ""
      Else
        Ligne = Right$(Ligne, Len(Ligne) - (iSep + lgSep) + 1)
      End If
    End If
    nbRubs = nbRubs + 1
    ReDim Preserve Rubs(1 To nbRubs)
    Rubs(nbRubs) = sRub
  Loop Until Fin

End Sub

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.