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