Nom de fichier sans son extention

tchouck Messages postés 54 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 25 avril 2006 - 11 nov. 2004 à 21:42
NeoUmbrella Messages postés 117 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 15 janvier 2013 - 16 nov. 2004 à 12:43
Bonjour a tous
Comment extraire le nom d'un fichier sans son extention pour l'afficher dans un textbox (et ensuite traiter cette valeur)

9 réponses

valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
11 nov. 2004 à 22:19
tout simplement avec la fonction Instr("chaine","caractère recherché"
Dim NomFichierEntier , NomFichier as string
Dim Trouve as integer

NomFichierEntier = "Toto.exe"

Trouve = Instr("NomFichierEntier", ".")
NomFichier = Left$(NomFichierEntier,Trouve-1)

Attention certain noms de fichier comportent plusieurs point adapte ton code pour les resortir

bye
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
11 nov. 2004 à 22:29
Ceci fonctionne quel que soit le nombre de point présent dans le nom de fichier.
En effet, l'extension, par définition, ce sont les lettres présentes derrière le DERNIER point.

Public Function FichierSansExtension(s As String) As String
Dim i As Long
For i=Len(s) to 1 Step -1
If Mid(s,i,1)="." Then
 Exit For
End If
Next i
FichierSansExtension = Left(s,i-1)

End Function



Et çà s'appelle comme ceci :

Dim monFichier1 As String
Dim monFichier2 As String

monFichier1 = "C:\dossier\mon.fichier.txt"
monFichier2 = FichierSansExtension(monFichier1)

Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
11 nov. 2004 à 23:03
Ou encore :

if instr(FileName,len(FileName)-4,".")>0 then
   FileName=mid(FileName,1,instr(FileName,len(FileName)-4,"."))
end if


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
12 nov. 2004 à 02:37
Salut
Une autre solution en 1 ligne :

NomSansExtension = Left$(NomFichier, InStrRev(NomFichier, ".") - 1)
0

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

Posez votre question
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
12 nov. 2004 à 03:46
cboulas >

Si le fichier possède l'extension .html, ton code ne passe pas.

encore moins s'il a l'extension .htaccess ou .manifest (pour ne citer que ces exemples)

Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
12 nov. 2004 à 09:16
econs> effectivement cela va déconner si l'extension à + de 4 lettres. alors voici :

p1=len(FileName)
do until sLetter="."
   sLetter=mid(FileName,p1,1)
   p1=p1-1
loop
FileName=mid(FileName,1,p1+1)


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
NeoUmbrella Messages postés 117 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 15 janvier 2013
15 nov. 2004 à 21:08
Moi jfais comme ca:
public function NomFichier (Fichier as string) as string
dim tabTemp() as string
dim intTemp as integer
tabTemp=split(Fichier,".")
intTemp=len(tabTemp(ubound(tabTemp)))
NomFichier=left(Fichier,len(Fichier)-intTemp)
end function

Neo Umbrella.Inc
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
16 nov. 2004 à 04:05
Pour faire encore plus compliqué en utilisant Split, tu peux concaténer tous les élements du tableau Splitté, sauf le dernier.

public function NomFichier (Fichier as string) as string
dim tabTemp() as string
Dim i As Long
Dim sTemp As String
dim intTemp as integer
sTemp=""
tabTemp=split(Fichier,".")
For i=Lbound(tabTemp) to UBound(tabTemp)-1
sTemp = sTemp & tabTemp(i)
Next i
NomFichier=sTemp
end function



Mais bon, là, c'est pour s'amuser ...

Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
NeoUmbrella Messages postés 117 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 15 janvier 2013
16 nov. 2004 à 12:43
Lbound c'est le debut du tableau ?

Neo Umbrella.Inc
0
Rejoignez-nous