Recuperer le nom d'un fichier [Résolu]

Signaler
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012
-
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
-
Bonjour a tous

J'aimerais savoir comment faire pour recuperer le nom du fichier son extention.
Dnas mon cas, j'utilise un dialogbox pour selectionner le fichier.
je stoke le nom le chemin ainsi que le nom dans la variable monchemin (ex: "c:\dossier\allo.bmp" Je cherche a avoir all.bmp dans une variable.

Est-ce que le dialog a une fonction qui retourne cela (laquel) sinon comment je fias pour l'obtenir. j'ai utiliser mon msdn mais mon msdn ne fonctionne pas correctement et sur le site, je sais pas quoi chercher exactement

Merci
DraaFil

6 réponses

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
Salut,
Il y a aussi cette fonction méconnue InStrRev :

Dim monFichier As String


monFichier = "c:\dossier\allo.bmp"
MsgBox Mid(monFichier, InStrRev(monFichier, "") + 1)

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
Salut,





La fonction Split découpe une chaine de caractère avec un caractère
particulier (ici le "" ). Le dernier élément sera forcément le nom du
fichier.







Dim tablo() As String

Dim monFichier As String



monFichier = "c:\dossier\allo.bmp"

tablo=Split(monFichier,"")



MsgBox tablo(Ubound(tablo))


Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012

ok mais le probleme c'est que le chemin est variable c'est-a-drie qu'il peut-etre c:\dos1\dos2\dos3\allo.bmp (le nom de dossier varie)

est-ce que vos exemple fonctionne encore avec cela, si oui comment faire si la structure est differente

Merci
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
Oui, essaie les 2 méthodes, tu verras que, quelque soit le chemin, tu obtiendras le nom de ton fichier avec son extension (en l'occurence : allo.bmp).

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012

cela fonctionne, merci
pourrais-tu m'expliquer cette ligne Mid(monFichier, InStrRev(monFichier, "") + 1)

le mid, instrrev et le +1

Merci
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
Heu, tu n'as pas la MSDN avec ton vb ?

Pour Mid :

Renvoie une valeur de type Variant (String) contenant un nombre indiqué de caractères extraits d'une chaîne de caractères.


Syntaxe


Mid(string, start[, length])


La syntaxe de la fonction Mid comprend les
<OBJECT id= alink_4 type=application/x-oleobject classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11></OBJECT>[javascript:alink_4.Click() arguments nommés] suivants :


Élément,
Description,
----

string,
<OBJECT id=alink_5 type=application/x-oleobject classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11></OBJECT>Expression de chaîne dont sont extraits les caractères à renvoyer. Si l'argument string contient une valeur de type
<OBJECT id=alink_6 type=application/x-oleobject classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11></OBJECT>Null, Null est renvoyé.,
----

start,
Donnée de type
<OBJECT id=alink_7 type=application/x-oleobject classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11></OBJECT>Long. Position du caractère dans l'argument string qui marque le début de la partie à extraire. Si la valeur de l'argument start est supérieure au nombre de caractères contenus dans l'argument string, la fonction Mid renvoie une chaîne de longueur nulle ("").,
----

length,
Facultatif. Donnée de type Variant (Long). Nombre de caractères à renvoyer. Si l'argument length est omis ou si le nombre de caractères du texte (y compris le caractère qui occupe la position start), est inférieur à la valeur de cet argument, tous les caractères à compter de la position start et jusqu'à la fin de la chaîne sont renvoyés.

et pour InStrRev :


Renvoie la position d'une occurrence d'une chaîne dans une autre, à partir de la fin de la chaîne.


Syntaxe


InstrRev( string1 , string2[, start[, compare]])


La syntaxe de la fonction InstrRev comprend les éléments suivants :


Élément,
Description,
----

string1,
<OBJECT id =alink_4 type=application/x-oleobject classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11></OBJECT>Expression de chaîne dans laquelle la recherche est effectuée.,
----

string2,
Expression recherchée.,
----

start,
Facultatif.
<OBJECT id=alink_5 type=application/x-oleobject classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11></OBJECT>Expression numérique définissant la position de départ de chaque recherche. Si elle est omise, -1 est employé, ce qui signifie que la recherche commence à la dernière position de caractère. Si l'argument start contient la valeur

<OBJECT id=alink_6 type=application/x-oleobject classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11></OBJECT>Null, une erreur se produit.,
----

compare,
Facultatif. Valeur numérique indiquant le type de comparaison à utiliser lors de l'évaluation des sous-chaînes. Si elle est omise, une comparaison binaire est effectuée. Reportez-vous à la section Valeurs.

Donc, à partir de là tu devrais comprendre mais je t'explique quand même.

InStrRev(monFichier, "") renvoit la position du caractère "" dans la chaine en commençant par la fin. Pratiquement, ça veut dire que la position renvoyée sera la position de la dernière occurence du caractère cherché.

InStrRev(monFichier, "") +1 c'est la position du 1er caractère après le dernier "".

Mid(monFichier, InStrRev(monFichier, "") + 1) renvoit donc la chaine qui se trouve après le dernier caractère cherché ("").

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?