OVH Cloud OVH Cloud

Trouver le nombre de caractères à partir de la fin d'une chaîne

6 réponses
Avatar
gmore
Bonjour,

comment puis-je obtenir le nombre de caractères à partir de la fin d'une
chaîne de caractères jusqu'à ce que le caractère "\" soit trouvé excluant ce
dernier.

Exemple :
C:\TEST\HELLO\BOB.REP

Après, le résultat serait 7. Le but est d'obtenir le nom du fichier
seulement. Par la suite, je pourrai effacer le nom du fichier à partir du
chemin complet.

Est-ce que vous pouvez m'aider?
Merci beaucoup!

g

6 réponses

Avatar
michdenis
Bonjour Gmore,

Je crois que la fonction InstrRev() n'est disponible qu'à partir
de la version 2000 d'excel

'-------------------------
Sub test()

Dim T As String, S as integer
T = "C:TESTHELLOBOB.REP"

'Nombre de caractère : 7
S = Len(T) - InStrRev(T, "", Len(T), 1)

'Chaîne de caractères : Bob.Rep
MsgBox Mid(T, InStrRev(T, "", Len(T), 1) + 1, 100)

End Sub
'-------------------------


Salutations!


"gmore" a écrit dans le message de news:
Bonjour,

comment puis-je obtenir le nombre de caractères à partir de la fin d'une
chaîne de caractères jusqu'à ce que le caractère "" soit trouvé excluant ce
dernier.

Exemple :
C:TESTHELLOBOB.REP

Après, le résultat serait 7. Le but est d'obtenir le nom du fichier
seulement. Par la suite, je pourrai effacer le nom du fichier à partir du
chemin complet.

Est-ce que vous pouvez m'aider?
Merci beaucoup!

g
Avatar
Jacques93
Bonjour gmore,

En VBA (dans un module) :

Public Function ATribord(s As String, delim As String) As String
If InStrRev(s, delim) > 0 Then
ATribord = Mid(s, InStrRev(s, delim) + 1)
Else
ATribord = s
End If
End Function


Formule :

=ATtribord("C:TESTHELLOBOB.REP";"")


Bonjour,

comment puis-je obtenir le nombre de caractères à partir de la fin d'une
chaîne de caractères jusqu'à ce que le caractère "" soit trouvé excluant ce
dernier.

Exemple :
C:TESTHELLOBOB.REP

Après, le résultat serait 7. Le but est d'obtenir le nom du fichier
seulement. Par la suite, je pourrai effacer le nom du fichier à partir du
chemin complet.

Est-ce que vous pouvez m'aider?
Merci beaucoup!

g



--
Cordialement,

Jacques.

Avatar
Jacques93
Oups...

=ATtribord("C:TESTHELLOBOB.REP";"")


=ATribord("C:TESTHELLOBOB.REP";"")

Un seul t

--
Cordialement,

Jacques.

Avatar
Jacques93
Bonsoir michdenis

Désolé, je n'avais pas vu que tu avais répondu quand j'ai envoyé ma
réponse ...

Bonjour Gmore,

Je crois que la fonction InstrRev() n'est disponible qu'à partir
de la version 2000 d'excel

'-------------------------
Sub test()

Dim T As String, S as integer
T = "C:TESTHELLOBOB.REP"

'Nombre de caractère : 7
S = Len(T) - InStrRev(T, "", Len(T), 1)

'Chaîne de caractères : Bob.Rep
MsgBox Mid(T, InStrRev(T, "", Len(T), 1) + 1, 100)

End Sub
'-------------------------


Salutations!



--
Cordialement,

Jacques.

Avatar
michdenis
Bonjour Jacques,

Pas de problème, il a même une fonction en plus !


Salutations!



"Jacques93" a écrit dans le message de news:
Bonsoir michdenis

Désolé, je n'avais pas vu que tu avais répondu quand j'ai envoyé ma
réponse ...

Bonjour Gmore,

Je crois que la fonction InstrRev() n'est disponible qu'à partir
de la version 2000 d'excel

'-------------------------
Sub test()

Dim T As String, S as integer
T = "C:TESTHELLOBOB.REP"

'Nombre de caractère : 7
S = Len(T) - InStrRev(T, "", Len(T), 1)

'Chaîne de caractères : Bob.Rep
MsgBox Mid(T, InStrRev(T, "", Len(T), 1) + 1, 100)

End Sub
'-------------------------


Salutations!



--
Cordialement,

Jacques.

Avatar
AV
Exemple : C:TESTHELLOBOB.REP
Après, le résultat serait 7. Le but est d'obtenir le nom du fichier


En utilisant les fonctions natives d'Excel :

=STXT(A1;TROUVE("ÿ";SUBSTITUE(A1;"";"ÿ";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"";""))))
+1;9^9)

AV