bonjour,

voici quelques fonctions de traitement de chaines de caractères :

Retourne la chaîne de caractères à gauche d'une chaîne de recherche spécifiée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Function LeftOfString(sourceString As String, searchString As String) As String
 
    Dim pos As Long
    pos = InStr(sourceString, searchString)
    If pos > 0 Then pos = pos - 1
 
    LeftOfString = Left(sourceString, pos)
End Function
Retourne la chaîne de caractères à droite d'une chaîne de recherche spécifiée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Function RightOfString(sourceString As String, searchString As String) As String
 
    Dim pos As Long
    Dim Length As Long
    Dim Start As Long
 
    pos = InStr(sourceString, searchString)
    Length = Len(sourceString)
    Start = Length - pos
 
    RightOfString = Right(sourceString, Start)
End Function
Retourne la chaîne de caractères à gauche d'une chaîne de recherche spécifiée en partant de la fin de la chaine.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Function LeftOfStringBack(sourceString As String, searchString As String) As String
 
    Dim i As Long
    Dim pos As Long
    Dim Length As Long
    Dim Start As Long
    Dim sourceStringBack As String
    Dim searchStringBack As String
    Dim result As String
    Dim turn As String
 
    For i = Len(sourceString) To 1 Step -1
        sourceStringBack = sourceStringBack & Mid(sourceString, i, 1)
    Next
 
    For i = Len(searchString) To 1 Step -1
        searchStringBack = searchStringBack & Mid(searchString, i, 1)
    Next
 
    pos = InStr(sourceStringBack, searchStringBack)
    Length = Len(sourceStringBack)
    Start = Length - pos
    result = Right(sourceStringBack, Start)
    For i = Len(result) To 1 Step -1
        turn = turn & Mid(result, i, 1)
    Next
    LeftOfStringBack = turn
End Function
Retourne la chaîne de caractères à droite d'une chaîne de recherche spécifiée en partant de la fin de la chaine.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Function RightOfStringBack(sourceString As String, searchString As String) As String
 
    Dim i As Long
    Dim pos As Long
    Dim sourceStringBack As String
    Dim searchStringBack As String
    Dim result As String
    Dim turn As String
 
    For i = Len(sourceString) To 1 Step -1
        sourceStringBack = sourceStringBack & Mid(sourceString, i, 1)
    Next
    For i = Len(searchString) To 1 Step -1
        searchStringBack = searchStringBack & Mid(searchString, i, 1)
    Next
 
    pos = InStr(sourceStringBack, searchStringBack)
    If pos > 0 Then pos = pos - 1
    result = Left(sourceStringBack, pos)
    For i = Len(result) To 1 Step -1
        turn = turn & Mid(result, i, 1)
    Next
    RightOfStringBack = turn
End Function