Recuperer le nom d'un fichier

Résolu
DraaFil Messages postés 264 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 23 mars 2012 - 22 janv. 2006 à 07:06
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 22 janv. 2006 à 17:06
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

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
22 janv. 2006 à 13:14
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
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
22 janv. 2006 à 09:40
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.
0
DraaFil Messages postés 264 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 23 mars 2012
22 janv. 2006 à 15:56
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
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
22 janv. 2006 à 16:13
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 !?
0

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

Posez votre question
DraaFil Messages postés 264 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 23 mars 2012
22 janv. 2006 à 16:24
cela fonctionne, merci
pourrais-tu m'expliquer cette ligne Mid(monFichier, InStrRev(monFichier, "") + 1)

le mid, instrrev et le +1

Merci
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
22 janv. 2006 à 17:06
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 !?
0
Rejoignez-nous