Extraction de chaine de caractères à partir d'une occurence ("Separator")

Soyez le premier à donner votre avis sur cette source.

Snippet vu 68 517 fois - Téléchargée 7 fois

Contenu du snippet

Private Function GetSplitData(ByVal sSrc As String, ByRef aArray() As Variant, Optional ByVal bLongValue As Boolean = False, Optional ByRef sSepar As String = ";") As Long 
    Dim aString() As String 
    aString = Split(sSrc, sSepar) 
    If UBound(aString) = 0 Then 
        GetSplitData = 0 
    Else 
        Dim i As Long 
        ReDim aArray(UBound(aString)) 
        If bLongValue Then 
            For i = 0 To UBound(aString) 
                aArray(i) = Val(aString(i)) 
            Next i 
        Else 
            For i = 0 To UBound(aString) 
                aArray(i) = aString(i) 
            Next i 
        End If 
        GetSplitData = UBound(aString) + 1 
        Erase aString 
    End If 
End Function 


'   EXEMPLE D'UTILISATION
'
Private Sub Form_Load() 
    Const sSample1 As String = "voici;une;phrase;séparée;par;des;point-virgules" 
    Const sSample2 As String = "1;215;6;7;895;200;41" 
    Dim aResult() As Variant, lRet As Long, i As Long 
    Dim sMess As String, lSum As Long 
    lRet = GetSplitData(sSample1, aResult()) 
    sMess = sSample1 & vbCrLf 
    If lRet > 0 Then 
        For i = 0 To lRet - 1 
            sMess = sMess & vbCrLf & aResult(i) 
        Next i 
        MsgBox sMess 
    End If 

    lRet = GetSplitData(sSample2, aResult(), True) 
    sMess = sSample2 & vbCrLf 
    lSum = 0 
    If lRet > 0 Then 
        For i = 0 To lRet - 1 
            sMess = sMess & vbCrLf & CStr(aResult(i)) 
            lSum = lSum + aResult(i) 
        Next i 
        MsgBox sMess & vbCrLf & "total = " & CStr(lSum) 
    End If 
    Unload Me 
End Sub 


Compatibilité : VB6

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.