Définir le nom du fichier grace a son chemin

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 765 fois - Téléchargée 42 fois

Contenu du snippet

Ex: C:\Windows\Bureau\Vb6.exe
Donne >> Vb6.exe

Source / Exemple :


Dim A As Integer
Dim PosDernierSlash As Integer
Dim NomFichier As String
Dim Fichier As String

Fichier = "C:\Windows\Bureau\Vb6.exe"

For A = 1 To Len(Fichier)
 If Mid(Fichier, A, 1) = "\" Then
   PosDernierSlash = A
    End If
     If A = Len(Fichier) Then
    NomFichier = Right(Fichier, Len(Fichier) - PosDernierSlash)
   End If
 Next A

Text1.Text = NomFichier

A voir également

Ajouter un commentaire

Commentaires

romit
Messages postés
160
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
30 juin 2011
-
L'avantage de ma fonction c'est que pour les sites WEB ça marche (en principe, je pense qu'il y a un bug si il y a les deux caractères ("" et "/") mais je verais après !)
romit
Messages postés
160
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
30 juin 2011
-
C'est horrible mais ça marche très bien et pour les sites WEB aussi. Et on peut définir le nombre max de "" et "/" à rechercher !

Public Function FindFile(adresse As String) As String
FindFile = adresse
Dim position As Integer
Dim nb As Integer
Dim max As Integer
If adresse = "" Then Exit Function
max = 50
renew:
If nb > max Then GoTo fin
position = InStr(adresse, "")
If position <> 0 Then
adresse = Mid(adresse, position + 1)
nb = nb + 1
GoTo renew
End If
fin:
renew2:
nb = 0
If nb > max Then GoTo fin2
position = InStr(adresse, "/")
If position <> 0 Then
adresse = Mid(adresse, position + 1)
nb = nb + 1
GoTo renew2
End If
fin2:
FindFile = adresse
End Function

Vous trouverez peut-être ça lent et long mais pas grave car ça marche et ce n'est pas lent !

J'ai fait aussi la même chose pour les extensions (je sais qu'on peut utiliser Right etc... mais ça prendrais les 3 dernières lettres. Et si l'extension fait 4 lettre ?! (sisi, ça arrive ^^)

Public Function FindExt(adresse As String) As String
FindExt = adresse
Dim position As Integer
Dim nb As Integer
Dim max As Integer
If adresse = "" Then Exit Function
max = 50
renew:
If nb > max Then GoTo fin
position = InStr(adresse, ".")
If position <> 0 Then
adresse = Mid(adresse, position + 1)
nb = nb + 1
GoTo renew
End If
fin:
FindExt = adresse
End Function

je sais que c'est pas beau mais faites copier coller des fonctions dans votre projet, envoyer lui comme paramètres le chamin d'acces au fichier et voila !

Ex: MsgBox FindFile("C:\Program Files\Entreprise\programme.exe")

Affichera une messagebox contenant "programme.exe"

^^
soldier8514
Messages postés
295
Date d'inscription
vendredi 20 décembre 2002
Statut
Membre
Dernière intervention
24 janvier 2014
1 -
kan c plus de l'ansi mais de l'unicode et que par exemple vos nom de fichier sont écrits en japonais ou autres _ vous faites quoi ? hein !?? kan ça plante _paceke ça va planter votre chmilblik les filles
laghyou
Messages postés
3
Date d'inscription
lundi 24 avril 2006
Statut
Membre
Dernière intervention
28 avril 2006
-
g 1 probleme . je voudrai modifier les valeurs d'un fichier mé je ne sais pas comment faire .
et en plus il ne faut pas voir le fichier .
il faut effectuer les modification sans voir le fichier
aidez moi.
ma boit de message est : laghyou_50@hotmail.com
Belegaer
Messages postés
12
Date d'inscription
mercredi 24 juillet 2002
Statut
Membre
Dernière intervention
5 novembre 2002
-
connaissait pas instrrev

merci jack, ca s'implifie ma fonction cheminfichier() ;-)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.