Vb6+recuperer le nom de fichier [Résolu]

Signaler
Messages postés
84
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
30 janvier 2010
-
Messages postés
84
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
30 janvier 2010
-
Salut,
J'ai un dossier qui contient par exemple 6 fichiers :file1.html ,file2.html, file3.html, file4.html,file5.html,file6.html
Comment je peux récuperer le nom du drenier fichier "file6.html"
Merci.

6 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
spootnic22
, 2e fois, merci de donner suite à tes topics !




http://www.codyx.org/snippet_lister-tous-fichiers-repertoire_198.aspx










Private Sub 
Command1_Click()

    Dim aResultat() As String
    Dim lRet As Long

    lRet =  GetFilesPathFromDirectory(App.Path, aResultat(),
"file*.html")
    If lRet <> -1 Then MsgBox aResultat(lRet)
End Sub

Function GetFilesPathFromDirectory(ByVal sDir As String, ByRef aRet() As String, Optional ByVal sFilter As String = "*.txt") As Long
'  
GetFilesPathFromDirectory retourne -1 si aucun fichier trouvé
'   sinon retourne la dimension du tableau, donc NB fichiers -1
(tableau commence à l'indice 0)

'   init les
résultats
    GetFilesPathFromDirectory = -1
    Erase aRet
    If RightB$(sDir, 2) <> "" Then sDir = sDir & ""

'   formate le
chemin
    Dim sFile As String, lIndex As Long
    sFile = Dir(sDir & sFilter, vbHidden Or
vbSystem)

'  
redimentionne après vérif premier fichier
    If sFile <> vbNullString Then
        lIndex = 0
        ReDim aRet(lIndex)
        aRet(lIndex) = sDir & sFile
        sFile = Dir

'       boucle sur tous les fichiers
        Do While sFile <> vbNullString
            lIndex = UBound(aRet) + 1
            ReDim Preserve aRet(lIndex)
            aRet(lIndex) = sDir & sFile
            sFile = Dir
        Loop

'      
retour
        GetFilesPathFromDirectory = lIndex
    End If
End Function





<small>Coloration
syntaxique automatique [AFCK] </small>

       

<hr size ="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
174
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
15 février 2007
2
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
Salut, fais une recherhce sur le site et sur codyx et tu trouvera la réponse à ta question.

 Drikce 06
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Tes fichiers commencente par File, donc 4 caractères

Et ils finissent par .html, donc 5 caractères.

Tu peux donc utiliser la fonction MID pour lire à partir du 5e caractère sur la longueur du nom moins 9 caractères...

Pas clair ? regarde dans l'aide et fais des tests...

MPi
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
24
Utilise dir avec "file*.html" , dans une boucle , et mid (nom_du_fichier_trouvé, 5, len(nom_du_fichier_trouvé)- 9) pour extraire le n° et ne garde le n° que s'il est supérieur au précédent.

PS : je te précise que dans l'expression plus haut, 9 = longueur de ".html" + longueur de "file",
Messages postés
84
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
30 janvier 2010

Salut,
Merci bcp PCPT.
ca marche très bien
Merci pour une deuxième fois.
A++