Cette fonction bien utilise permet de découper une [chaine] suivant un [caractère] séparateur et placer le résultat dans un tableau de chaine
Source / Exemple :
Public Function DecouperChaine(StrTmp As String, car1 As String, tabstr() As String) As Integer
Dim I As Integer
Dim cpt As Integer
Dim motprec As String
I = 0
DecouperChaine = 1
ReDim tabstr(1 To 1)
tabstr(1) = StrTmp
If Len(StrTmp) < 1 Then
Exit Function
ElseIf Len(StrTmp) = 1 Then
If StrTmp = car1 Then
DecouperChaine = 2
ReDim tabstr(1 To 2)
tabstr(1) = "": tabstr(2) = ""
End If
Exit Function
End If
cpt = 1
motprec = ""
I = InStr(StrTmp, car1)
While I > 0
If I > 1 Then 'motprec sert à ignorer le car1 s'il est précédé par "?"
If Mid$(StrTmp, I - 1, 1) = "?" Then
motprec = motprec & Left$(StrTmp, I - 2) & car1
StrTmp = Right$(StrTmp, Len(StrTmp) - I)
GoTo IgnorerCar
End If
End If
motprec = motprec & Left$(StrTmp, I - 1)
cpt = cpt + 1
ReDim Preserve tabstr(1 To cpt)
tabstr(cpt - 1) = motprec
motprec = ""
StrTmp = Right$(StrTmp, Len(StrTmp) - I)
IgnorerCar:
I = InStr(StrTmp, car1)
Wend
tabstr(cpt) = motprec & StrTmp
DecouperChaine = cpt
End Function
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.