salut,
 
Voici 4 fonctions qui devraient t'aider à isoler une sou-chaine:
 
Function BeforeFirst(Texte As String, Séparateur As String, Optional Différenciation As Boolean = False)
Dim NbAvant
chaineplus = Len(Séparateur)
If Différenciation = False Then
    comparer = 1
Else: comparer = 0
End If
NbAvant = InStr(1, Texte, Séparateur, comparer)
 
If NbAvant = 0 Then
    BeforeFirst = Texte
Else: BeforeFirst = Left(Texte, NbAvant - 1)
End If
End Function
 
Function AfterFirst(Texte As String, Séparateur As String, Optional Différenciation As Boolean = False)
Dim NbAvant
chaineplus = Len(Séparateur)
If Différenciation = False Then
    comparer = 1
Else: comparer = 0
End If
NbAvant = InStr(1, Texte, Séparateur, comparer)
 
If NbAvant = 0 Then
    AfterFirst = Texte
Else: AfterFirst = Right(Texte, Len(Texte) - (NbAvant + chaineplus - 1))
End If
End Function
 
Function BeforeLast(Texte As String, Séparateur As String, Optional Différenciation As Boolean = False)
 
If Différenciation = False Then
    comparer = 1
Else: comparer = 0
End If
For compteur = Len(Texte) To 1 Step -1
    If InStr(compteur, Texte, Séparateur, comparer) <> 0 Then GoTo Trouvé
Next
 
compteur = Len(Texte) + 1
 
Trouvé:
BeforeLast = Left(Texte, compteur - 1)
 
End Function
 
Function AfterLast(Texte As String, Séparateur As String, Optional Différenciation As Boolean = False)
chaineplus = Len(Séparateur)
If Différenciation = False Then
    comparer = 1
Else: comparer = 0
End If
 
For compteur = Len(Texte) To 1 Step -1
    If InStr(compteur, Texte, Séparateur, comparer) <> 0 Then GoTo Trouvé
Next
 
compteur = Len(Texte) + 1
 
Trouvé:
AfterLast = Right(Texte, Len(Texte) - (compteur - 1 + chaineplus))
 
End Function