Obtenir les noms des fichiers d'un fichier grace a son chemin

  • Auteur de la discussion aurelie1985
  • Date de début

aurelie1985

Nouveau membre
Bonjour le forum .

Je souhaiterais lister tous les noms de fichier situé a l'interieur d'un dossier et celà grace a l'indication du chemin de ce fichier ( :pt1cable: :pt1cable: ) .

Pour l'instant j'ai fait ça , qui ne marche pas du tout :

[cpp]Option Explicit

Public Sub ContenuDuDossier(ByVal strDossier As String)
Dim strFichier As String

'//Vérifier que le dossier existe bien
If Dir(strDossier, vbDirectory) = "" Then
MsgBox "Dossier introuvable "
Exit Sub
End If
'//Lister tous les fichiers du dossier
strFichier = Dir(strDossier, vbNormal)
While strFichier <> ""
'// Afficher le nom du fichier
ComboBoxLogoMarques.Value = strFichier.Value
' //Lire le fichier suivant
strFichier = Dir
Wend

End Sub

Private Sub ComboBoxLogoMarques_Change()
Dim chemin As String
chemin = TxtBoxLogoMarques.Value ' //on renseigne le chemin du fichier

Nomfichier (chemin)

End Sub
[/cpp]

Dejà est ce que c'est possible ?

Merci a ceux qui répondront .
 

zeb

Modérateur
Salut,

Oui, c'est possible. :)

Utilise la méthode ParentFolder() de l'objet File de la bibliothèque FileSystemObject pour récupérer le chemin dans le nom complet d'un fichier qui existe.

Et abandonne la commande Dir() - pour le système FSO, et les boucles While .. Wend - pour la boucle Do .. Loop. On n'est plus en 1985 !

Exemple à étudier :
Code:
Sub ShowSiblingFiles(ByVal FileName As String)
    Dim FSO As New Scripting.FileSystemObject
    Dim folder As Scripting.folder
    Dim file As Scripting.file
    
    If Not FSO.FileExists(FileName) Then
        MsgBox "Dossier introuvable "
        Exit Sub
    End If

    Set folder = FSO.GetFile(FileName).ParentFolder

    For Each file In folder.Files
        MsgBox file.Name
    Next
End Sub

_______________
EDIT:
PS: Pas de question du genre "eh zeb, ça compile pas". Passe un minimum de temps à découvrir ce qu'est une référence de bibliothèque ;)
 

aurelie1985

Nouveau membre
[strike]"eh zeb , ça compile pas"[/strike]

Bonjour Zeb , dejà merci d'avoir repondu .

Bah le truc c'est que le chemin est dejà renseigné via un TextBox et que je souhaite afficher les noms des fichiers dans une listBox ( je pense savoir comment faire pour enlever les .xls/iso/jpg ect ...) .
Or dans ce code , tu me dis si je me trompe , on renseigne le nom du fichier pour obtenir son chemin .

N'empeche que je vais tester ce code , on verra bien si j'en tire quelque chose ^^ .

Aurelie
 

zeb

Modérateur
:D

Non, non, non... :non: On ne teste pas le code, on l'étudie, pour voir comment ça marche et ainsi le refaire, avec quelques modifs éventuelles pour répondre exactement au besoin.

T'as pu voir les références ? T'as ajouté Scripting ?
 

aurelie1985

Nouveau membre
Après étudier le code ainsi que quelques tutoriels , j'ai codé ceci :

[cpp]
Private Sub ComboBoxLogoMarques_Change()
Dim Chemin As String
Chemin = TxtBoxLogoMarques.Value

NomFichiers (Chemin)

End Sub


Public Sub NomFichiers(ByVal Chemin As String)

Dim ScanFic As Office.FileSearch
Dim NomFic As Variant
Dim I As Long

Set ScanFic = Application.FileSearch

With ScanFic
.NewSearch
.LookIn = Chemin '// on recupere le chemin
.SearchSubFolders = True
.FileType = msoFileTypeAllFiles

I = 0
For Each NomFic In .FoundFiles
I = I + 1
ComboBoxMarque.value = NomFic '// on insere les noms dans la comboBox
Next


End With

End Sub[/cpp]

Il ne se passe strictement rien , je ne comprend pas , le code me semble bon ...
Tu parles de Scripting , et de references , je vais chercher de ce coté ...

 

aurelie1985

Nouveau membre
Hmm je reste totalement dans la melasse si quelqu'un pourrait me rediriger vers de la doc voir me proposer un code , je lui en serais plus que reconaissante .
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 837
Membres
1 586 370
Dernier membre
Flo In Groove
Partager cette page
Haut