Pb avec les fonction InStrRev et StrReverse...

cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 - 14 déc. 2004 à 10:22
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 - 15 déc. 2004 à 16:33
Bonjour!

J'ai besoin de récupérer le nom d'un fihier à partir de son chemin complet: filePath/fileName (filePath étant lui-même composé de répertoire et sous-répertoires donc il comprend un nb indéterminé de / ).

Je voulais utiliser la fonction InStrRev, ou InStr combinée avec StrReverse, mais ces 2 fonctions semblent ne pas marcher en VBA. Est-ce normal? Est-ce qu'il existe une autre fonction sous VBA qui puisse rechercher un caractère dans une chaîne en partant de la fin?

Merci d'avance pour votre aide!

6 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
14 déc. 2004 à 10:48
Salut,

Essaie de voir si ca ca peut t aider
Dim Pa as string
Dim NomFichier
Pa = Application.Path
NomFichier= Mid(Pa, InStrRev(Pa, "") + 1)

@+
Julien
-----------------------------------------------------------
:big) Essaie ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
14 déc. 2004 à 10:56
C'est gentil mais justement VBA ne reconnaît pas la fonction InStrRev....
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
14 déc. 2004 à 11:08
Salut,

ben j ai essayer ca sous excel et si je ne me trompe pas le vb de excel c est du vba

@+
Julien
-----------------------------------------------------------
:big) Essaie ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
14 déc. 2004 à 11:18
J'avais bien compris que vb d'Excel c'est du VBA mais chez moi ça marche pas alors je suppose que j'ai une version trop vieille d'Excel par rapport à la tienne et qui ne prend pas en compte cette fonction. Merci quand même. Je vais faire autrement.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
phantom_2005 Messages postés 184 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 1 septembre 2010 1
15 déc. 2004 à 14:49
salut,

je travaille aussi en vba mais sous access alors tu peux essayé ceci


Dim Str As String, StrFile As String, StrFold As String
Dim pos As Integer, Posi As Integer

'Initialise le début de la recherche
Posi = 1

Str = InputBox("Entrer le chemin du fichier")

'Recherche de la position du dernier ""
While Posi <> 0
    pos = Posi
    Posi = InStr(pos + 1, Str, "", 0)
Wend

'Affichage du nom de fichier sans le chemin
StrFile = Right(Str, (Len(Str) - pos))
StrFold = Left(Str, (Len(Str) - Len(StrFile)))



normalement ça fonctionne

:big)
0
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
15 déc. 2004 à 16:33
J'ai fini par faire un truc dans le genre qui marche bien effectivement! Merci beaucoup!
0
Rejoignez-nous