Comment récupérer l'extension d'un fichier ?

Résolu
cs_herve83 Messages postés 24 Date d'inscription jeudi 7 octobre 2004 Statut Membre Dernière intervention 17 novembre 2004 - 10 nov. 2004 à 09:43
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 - 10 nov. 2004 à 18:08
Bonjour,

j'ai fait une petite appli qui sauvegarde des données dans un fichier du type justif fiscal.1234 ou 1234 représente des années.

souhaitant pouvoir imprimer ces fichiers, je souhaiterai récupérer l'extension (année) pour proposer une liste de choix a l'utilisateur, apres avoir bien sur vérifié la présence d'au moins 1 fichier de ce type.

Comment puis je faire ceci :question) :question)

Merci de votre aide..... :big)

Hervé

15 réponses

cs_herve83 Messages postés 24 Date d'inscription jeudi 7 octobre 2004 Statut Membre Dernière intervention 17 novembre 2004
10 nov. 2004 à 11:15
en tournant et retournant ce que vous m'avez dit, j'ai trouvé cela :

Dim F As String
Dim ann
F = Dir(App.Path & "\DATA\ARCHIVES\justif fiscal.*")
While F <> ""
ann = Right(F, 4)
Me.Combo4.AddItem ann
F = Dir
Wend

ainsi, j'arrive a récupérer dans un combo les années possibles puis avec un bouton command je fais l'impression...

bien sur, le cas ou fiscal.1234.doc existe n'est pas traité, mais mon appli ne crée que des fiscal.1234 donc .... ;-)

merci de votre aide...
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 nov. 2004 à 09:53
Salut,

Essaie ca (peu etre que ca t aidera)

Dim st As String
st = "fiscal.1234"
MsgBox Mid(st, InStr(1, st, ".") + 1)

@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0
TheLordFreddy Messages postés 157 Date d'inscription mardi 9 décembre 2003 Statut Membre Dernière intervention 3 février 2005 2
10 nov. 2004 à 09:55
slt,
utilise un aussi un FileListBox
pour récuperer tes fichiers
dans la propriété path tu met le chemin du répertoire ou ils se trouvent
-------------------------------------------
Ne vous fiez pas à l'apparence...
0
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
10 nov. 2004 à 10:22
jrivet -> je ne suis pas d'accord avec toi.

Si mon fichier est ainsi : fiscal.1234.doc, c'est 1234.doc qui sera considéré et non 'doc' !!! Donc problème. Et le cas que j'expose n'est pas isolé. C'est même très fréquent.

Solution plus efficace considérant ce cas :

Private Sub Command1_Click()

Dim st As String
st = "fiscal.1234.doc"
MsgBox getFileExtension(st)

End Sub

Public Function getFileExtension(FileName As String) As String

getFileExtension = Mid$(FileName, InStrRev(FileName, ".") + 1)

End Function

Guy
0

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

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 nov. 2004 à 10:26
-> Neo.balastik

Effectivement tu as tout a fait raison, je n avais pas penser au cas ou il a 2 points dans le nom du fichier.

Desole pour la fausse solution Herve83

Merci pour de m avoir montrer l erreur ;)

@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
10 nov. 2004 à 10:30
Pas de quoi ;O) Cela m'est bien sur arrivé aussi... C'est le genre de cas qui n'existait pas avant l'arrivée de WIN95.

Guy
0
cs_Creat Messages postés 76 Date d'inscription dimanche 25 juillet 2004 Statut Membre Dernière intervention 20 mars 2006
10 nov. 2004 à 12:38
Il y a un autre exeption, il existe des fichiers sans extension
0
cs_herve83 Messages postés 24 Date d'inscription jeudi 7 octobre 2004 Statut Membre Dernière intervention 17 novembre 2004
10 nov. 2004 à 13:38
lol!!

ben là, je voulais un code pour mon appli, et celui là marche tres bien...

etant debutant, je ne me lancerai donc pas dans une discussion trop technique...

merci de votre aide
Hervé
0
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
10 nov. 2004 à 13:46
Creat -> dans ma source, il faudra juste vérifier si un point ( . ) existe et retourner une chaine vide le cas échéant.

Guy
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
10 nov. 2004 à 14:35
Neo.balastik < Et il se passe quoi si le '.' fait partit du non d'un sous-répertoire, et pas du nom du fichier ???. Il faudrait s'assurer que le '.' est bien à droite du dernier '\' s'il y en a un !!

Christophe R.
0
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
10 nov. 2004 à 14:41
Mon code considère tjs le point le plus à droite...
Faut lire entre les lignes ;-)
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
10 nov. 2004 à 15:12
Et c'est bien ce que je lui reproche !!! Si lke chemin complet du fichier est "c:\mon.Rep\Monfichier", to code va removyer comme extension "Rep\Monfichier", alors que ce fichier n'a pas d'extension !!!

Christophe R.
0
cs_herve83 Messages postés 24 Date d'inscription jeudi 7 octobre 2004 Statut Membre Dernière intervention 17 novembre 2004
10 nov. 2004 à 16:36
ben dis donc...

j'ai déja du mal a faire les lignes, alors s'il faut lire entre les lignes...

Je vous propose donc de continuer si vous voulez, mais avec du code pour etre concret...

Hervé
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
10 nov. 2004 à 16:46
Public Function GetFileExtension(byval Filename as String)
Dim i as Long, J as Long
 i = instrrev(filename,".")
if i = 0 then 
  getFileextension = "" 
else
  j = instrrev(filename,"")
  if j < i then 
   getfileextension = right$(filename,len(filename)-i)
  else
   getfileextension  =""
  end if
end if
End function

Christophe R.
0
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
10 nov. 2004 à 18:08
crenaud76 > En ce qui me concerne, la question initiale portait sur un nom de fichier et non le répertoire compris. Donc je n'ai bien entendu pas considérer la Path. Ceci dit tu as entierement raison si l'on doit considérer le Path.
0
Rejoignez-nous