Récupere une chaine de caracteres dans une autre (à droite)


Contenu du snippet

Récupere une chaine de caracteres en allant vers
la droite. Equivalent d'un autre code : sGetLeftChamp()

Source / Exemple :


' ----------------------------------------------------------------------
' Renvoie la chaîne de caractères situées après le premier séparateur :
'
Function sGetRightChamp(ByVal ligne As String, ByVal leSeparateur As String, Optional ByVal Value As Variant) As String
    Dim nbCar As Integer, champ As String, lg As Integer
    
    
    champ = ligne
    lg = Len(leSeparateur)
    
    If Len(champ) > 0 And lg > 0 Then
        ' Il faut prendre en compte la longueur du séparateur et le positionnement
        ' du séparateur détecté :
        If lg = 1 Then lg = 0
        If lg > 1 Then lg = lg - 1
        
        ' Récupère une chaine de caractère à droite du séparateur.
        nbCar = InStr(champ, leSeparateur)              ' Nombre de caractere(s) a récupérer.
        
        If nbCar > 0 Then
            champ = Right(champ, Len(champ) - (nbCar + lg))     ' Mise à jour de la ligne sans le 1er champ.
        Else
            If IsMissing(Value) = False Then
                If CBool(Value) = True Then
                    champ = vbNullString
                End If
            End If
        End If
    End If
    
    sGetRightChamp = champ
End Function

Conclusion :


Voir aussi la fonction sGetLastRightChamp()

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.