Fonction Droite

Fermé
Christophe - 9 mai 2014 à 15:27
 foo - 9 mai 2014 à 18:43
Bonjour,


J'ai les chaines de caractères suivantes :
/location_voiture_sport_C143
/location_voiture_tourisme_familial_BM1430
/vente_camping_car_tourisme_EU1


Je souhaite extraire que la référence qui se situe après le dernier _
C143
BM1430
EU1

J'ai tenté plusieurs choses sans succès

Si vous aviez une piste à me communiquer...

Merci
Christophe

3 réponses

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
9 mai 2014 à 15:41
Bonjour,

Tu peux utiliser cette fonction personnelle
Function TrouveRef(Cel As Range) As String
Dim Tablo
Tablo = Split(Cel, "_")
TrouveRef = Tablo(UBound(Tablo))
End Function

A+
0
tontong Messages postés 2563 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 17 octobre 2024 1 058
9 mai 2014 à 15:58
Bonjour,
Sans macro:
On cherche le nombre d'underscores _
=NBCAR(A1)-NBCAR(SUBSTITUE(A1;"_";""))

On remplace le dernier par le caractère §
=SUBSTITUE(A1;"_";"§";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"_";"")))

Avec Stxt on récupère les 99 caractères qui suivent § (localisé avec Cherche)
=STXT(A1;CHERCHE("§";SUBSTITUE(A1;"_";"§";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"_";""))))+1;99)
0
Bonjour

avec une macro

Sub TestSplit1()
Dim Ref
For L = 2 To Range("A" & Rows.Count).End(xlUp).Row
Ref = Split(Cells(L, 1), "_")
Cells(L, 2).Value = Ref(UBound(Ref))
Next
End Sub

A+
Maurice
0