Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Lister les noms de fichiers d'un repertoire

ruth, le mardi 29 juin 2004 à 14:01:12
Bonjour à tous !
SVP en VB comment lister les noms des fichiers (texte en principe) d'un repertoire donné?
Merci d'avance et a+
Ruth
Répondre à ruth  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
_julien_, le mardi 29 juin 2004 à 15:45:22
Répondre à _julien_

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Nico, le vendredi 10 mars 2006 à 14:29:04
Bonjour,
Je recherche a faire la meme chose en vba sous access, mais les fonctions citée dans le lien précédent ne sont pas reconnues.
Si quelqu'un peut m'aider ,Merci :)
Répondre à Nico

3


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Lupin, le vendredi 10 mars 2006 à 15:15:48
Bonjour,

Sous VB et VBA vous pouvez utiliser les objets de scripting !


Exemple :

Sub ListeFichier
  Const ctePourLecture = 1
  Const ctePourEcrire = 2
  Const ctePourAjouter = 8

  Dim objFSO, objDossier, objFichier, objResultat
  Dim Repertoire, NomFichierTxt

  On Error Resume Next

  Repertoire = "C:\Document\Excel"
  NomFichierTxt = "Resultat.txt"
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  Set objDossier = objFSO.GetFolder(Repertoire)
  Set objResultat = objFSO.CreateTextFile((Repertoire & "\" & NomFichierTxt),ctePourEcrire)


  If (objDossier.Files.Count > 0) Then
     For Each objFichier In objDossier.Files
        If (InStr(1, objFichier.Name, ".xls", 1) > 0) Then
            objResultat.WriteLine objFichier.Name
        End If
     Next
   End If

  objResultat.Close
  Set objResultat = Nothing
  Set objDossier = Nothing
  Set objFSO = Nothing

End Sub


Lupin
Répondre à Lupin

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Nico, le vendredi 10 mars 2006 à 15:22:16
Merci beaucoup de ta reponse,
mais j'ai trouvé un code plus simple sous vba:

With Application.FileSearch
.LookIn = "C:\dede"
.Filename = "*.*"
If .Execute > 0 Then
MsgBox "There were " & .FoundFiles.Count & _
" file(s) found."
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i)
Next i
Else
MsgBox "There were no files found."
End If
End With

Vus que le controle dirlistbox,drivelistbox sous vba n'existe pas, a ton avis faut t'il beaucoup de temps pour recréer un mini exploreur avec cette fonction et un treeview? (je ne connais pas les treeview, je sui entrain de me documenter dessus)
Répondre à Nico

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lupin, le vendredi 10 mars 2006 à 16:56:42
re:

Non, ce fut d'ailleur l'un de mes TPs lors de mon 3e cours de VB,
créer un interface qui remplace la boite de dialogue [Ouvrir] et
[ Enregistrer sous ].

Lupin
Répondre à Lupin

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Nico, le lundi 13 mars 2006 à 15:45:28
Bonjour :)
Ce week-end j'ai eu le temps de comprendre ce qu'était un treeview et comment globalement cela fonctionnait 'il.
En effet c'est pas tres compliqué.
Néanmoins je sui tombé sur une autre difficultée, certains repertoires ont un acces protégé (interdit a l'utilisateur que je suis).
Ainsi lorsque je souhaite obtenir l'arboloescence de ces derniers, cela bug et une erreur apparait, quelqu'un aurait une idée afin de contrer cela?
Merci d'avance :)
Répondre à Nico

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ushiwa.sasuke, le lundi 16 octobre 2006 à 15:19:54
Bonjour,

Je cherche un peu à faire la même chose...seulement que moi l'utilisateur choisit le répértoire ou il faut lister les .doc ensuite j'aimerai pouvoir tout lister dans une listBox mais je sais aps trop comment faire...

Voici mon code :

ce qu'il faut déclarer en haut
Option Compare Database

Private Type BROWSEINFO
    hOwner As Long
    pidlRoot As Long
    pszDisplayName As String
    lpszTitle As String
    ulFlags As Long
    lpfn As Long
    lParam As Long
    iImage As Long
End Type

Public Enum NetWork
    WithNetworkFolders = 0
    WithoutNetworkFolders = 2
End Enum

Private Declare Function SHGetPathFromIDList Lib "shell32.dll" _
    Alias "SHGetPathFromIDListA" (ByVal pidl As Long, _
    ByVal pszPath As String) As Long

Private Declare Function SHBrowseForFolder Lib "shell32.dll" _
    Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) _
    As Long
    
Const BIF_RETURNONLYFSDIRS = &H1
Const BIF_USENEWUI = &H40


mon bouton parcourir :
Private Sub btn_parcourir_Click()

    Me.edit_repertoire = SelectFolder("D:\", WithoutNetworkFolders)
    
    If IsNull(edit_repertoire) Or Len(edit_repertoire) = 0 Then
        btn_lister.Visible = False
    Else
        btn_lister.Visible = True
    End If
    
End Sub


la fonction SelectFolder :
Public Function SelectFolder(Optional Folder As String = "" _
           , Optional NetWorkFolders As NetWork = WithNetworkFolders _
           ) As String
    Dim X As Long, bi As BROWSEINFO, dwIList As Long
    Dim szPath As String, wPos As Integer
    If Folder = "" Then Folder = CurrentProject.Path
    With bi
        .hOwner = hWndAccessApp
        .lpszTitle = "Sélectionnez votre dossier et cliquez sur OK"
        .ulFlags = BIF_RETURNONLYFSDIRS _
            Or BIF_USENEWUI _
            Or NetWorkFolders
    End With
    dwIList = SHBrowseForFolder(bi)
    szPath = Folder & Space$(512 - Len(Folder))
    X = SHGetPathFromIDList(ByVal dwIList, ByVal szPath)
    If X Then
        wPos = InStr(szPath, Chr(0))
        SelectFolder = Left$(szPath, wPos - 1)
    Else
        SelectFolder = ""
    End If
End Function


je rend visible mon bouton lister :
Private Sub edit_repertoire_Change()
    
    If IsNull(edit_repertoire.Text) Or Len(edit_repertoire.Text) = 0 Then
        btn_lister.Visible = False
    Else
        btn_lister.Visible = True
    End If
End Sub


fonction de mon bouton lister (c'est la ou je bloque :S)
Private Sub btn_lister_Click()

    Dim ext As String
    Dim Ctr As Integer
    Const myRep = "edit_repertoire.Text" ' Voir s'il ne faut pas definir repertoire...
    
    ext = Dir(myRep & "*.doc")
    List_rep.Visible = True
    List_rep.DefaultValue = ""
    Do While ext <> ""
        List_rep.ControlSource = ext
        ext = Dir
    Loop
   
   List_rep.ListStyle = fmListStyleOption
        
    Next
End Sub


Si qqun pourrait m'aider ca serait vraiment sympa...
Répondre à ushiwa.sasuke

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lupin.A, le mardi 17 octobre 2006 à 00:56:51
Bonjour,

je n'ai pas tout saisi faute de temps mais déjà il serait souhaitable de modifier la déclaration de la constante.

Const myRep = "edit_repertoire.Text"

ext = Dir(myRep & "*.doc")

la constante semble pointer sur un objet VB et on y lit la propriété "Text", la constante ne peut varier lors de l'éxécution
du programme, ce serait plutôt :

Dim myRep As String

myRep = "edit_repertoire.Text"
ext = Dir(myRep & "*.doc")

Lupin
Répondre à Lupin.A

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ushiwa.sasuke, le mardi 17 octobre 2006 à 14:32:24
Bonjour,

pour le moment Access ne m'a pas généré d'erreur à ce niveau la...

mais il ne trouve pas la propriété : ListStyle

En VBA ca n'existe pas et je suis un peu coincé...y'a-t-il un autre moyen avec une boucle et un indice qui s'incrémente ? qqch comme ca...?

Merci d'avance.

Meilleures salutations.
Répondre à ushiwa.sasuke

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ushiwa.sasuke, le mardi 17 octobre 2006 à 14:32:58
Bonjour,

pour le moment Access ne m'a pas généré d'erreur à ce niveau la...

mais il ne trouve pas la propriété : ListStyle

En VBA ca n'existe pas et je suis un peu coincé...y'a-t-il un autre moyen avec une boucle et un indice qui s'incrémente ? qqch comme ca...?

Merci d'avance.

Meilleures salutations.
Répondre à ushiwa.sasuke

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ushiwa.sasuke, le mardi 17 octobre 2006 à 14:33:02
Bonjour,

pour le moment Access ne m'a pas généré d'erreur à ce niveau la...

mais il ne trouve pas la propriété : ListStyle

En VBA ca n'existe pas et je suis un peu coincé...y'a-t-il un autre moyen avec une boucle et un indice qui s'incrémente ? qqch comme ca...?

Merci d'avance.

Meilleures salutations.
Répondre à ushiwa.sasuke

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ushiwa.sasuke, le mardi 17 octobre 2006 à 15:41:31
Pkoi mon post s'affiche-t-il 3 fois ???
Répondre à ushiwa.sasuke

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ushiwa.sasuke, le jeudi 19 octobre 2006 à 16:53:57
J'ai essayé comme ceci mais sans résultat...

Private Sub btn_lister_Click()

    Dim ext As String
    Const myRep = "edit_repertoire.Text" ' Voir s'il ne faut pas definir repertoire...
    
    ext = Dir(myRep & "*.doc")
    List_rep.RowSource = ""
    'Do While ext <> ""
        'List_rep.RowSource = List_rep.RowSource & ext & ";"
        'ext = Dir
    Loop
   
   'List_rep.ListStyle = fmListStyleOption
        
    
End Sub


Personne n'a une idée svp ? je commence à desespérer :'(
Répondre à ushiwa.sasuke

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lupin.A, le samedi 21 octobre 2006 à 01:22:38
Bonjour,

vous devez détailler plus précicément la nature des objets utilisés !

voici un exemple de code :

Private Sub btn_lister_Click()

    Dim monRep As Variant
    Dim ext As String, Ctr As Integer
    
    ext = ""
    monRep = Me.edit_repertoire.Value
    
    
    ext = Dir(monRep & "\*.doc")
    List_rep.Visible = True
    List_rep.DefaultValue = ""
    Do While ext <> ""
        Me.List_rep.AddItem ext
        ext = Dir
    Loop
    'List_rep.ListStyle = fmListStyleOption

End Sub
'


je ne m'explique toujours pas :

Const myRep = "edit_repertoire.Text"

et quel est le type de l'objet [ List_rep ] ?

Lupin
Répondre à Lupin.A

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ushiwa.sasuke, le lundi 23 octobre 2006 à 11:12:45
Merci pour votre réponse...

mais pour info les propriétés additems et lifestyle sont propriétaire à VB et non à VBA cela n'existe pas...donc c'est pour ca que je cherche un autre moyen de le faire...

Merci d'avance.
Répondre à ushiwa.sasuke

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lupin.A, le lundi 23 octobre 2006 à 13:18:46
Bonjour,

le code soumis dans mon dernier post a été généré et testé sous
VBA d'access. Pour ce qui est de la méthode AddItem, elle est
bel et bien présente sous VBA, je l'utilise depuis longtemps ...

Lupin
Répondre à Lupin.A

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ushiwa.sasuke, le lundi 23 octobre 2006 à 14:44:21
Ah...c'est bizarre ca car chez moi elle est inconnue...

Quelle est la version d'Access que vous utilisez ? Y'a-t-il une librairie à activer ou un dll ???


De mon coté je suis en Access 2000...

Merci d'avance.
Répondre à ushiwa.sasuke

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lupin.A, le lundi 23 octobre 2006 à 15:51:17
re :

je suis sous Access 2002 ( "Suite Office XP").

pour ce qui est des librairies supplémentaires, je vais jeter un
coup d'oeil ce soir, car la je ne suis pas sous le même environnement.

si vous vouliez bien identifier les objets que vous utiliser, je pourrai plus
vous donner mon opignon !!!


List_Rep : Zone de liste déroulante, Zone de liste, Zone de texte ... ?
edit_repertoire : Zone de liste déroulante, Zone de liste, Zone de texte ... ?

Lupin
Répondre à Lupin.A

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ushiwa.sasuke, le lundi 23 octobre 2006 à 16:36:49
Oki aucun problème

Merci bcp de consacrer un peu de temps pour moi :)

Sinon pour les 2 objets :


List_Rep : Zone de liste
edit_repertoire : Zone de texte

Merci d'avance.
Répondre à ushiwa.sasuke
SH - script listant les fichiers en double (Résolu)Hello, je voudrais écrire en sh, un script listant dans un répertoire (ainsi que dans tous ses sous-répertoires) tous les fichiers existants en double (ou triple ou quadruple...) bref ayant une existence multiple. L'existence multiple n'est... www.commentcamarche.net/forum/affich-2807125-sh-script-listant-les-fichiers-en-double
Script php listant fichier d'un répertoire (Résolu)Voila bonjour je cherche un script qui liste les fichiers d'un répertoire MAIS AVEC LE : http://monsite.com/dossier_en_question/ exemple: http://monsite.com/dossier_en_question/patatipatata.exe merci et j'espere que quelqu'un ma compris www.commentcamarche.net/forum/affich-1893313-script-php-listant-fichier-d-un-repertoire
[PHP] Liste fichiers d'un répertoire virtuel (Résolu)Bonjour, J'utilise actuellement un script php pour lister les fichiers d'un répertoire sur le site intranet de mon entreprise. Pendant ma phase de test, je me suis servi d'un répertoire en local sur le serveur et tout fonctionnait... www.commentcamarche.net/forum/affich-1917962-php-liste-fichiers-d-un-repertoire-virtuel
Convertir un fichier M3U en MP3Convertir M3U en MP3 M3U Conversion Solutions M3U M3U (MPEG version 3.0 URL) est un format de fichier qui a pour but de stocker une liste de fichier audio ou vidéo. Implémenté à l'origine pour les listes de lectures de Winamp, c'est une... www.commentcamarche.net/faq/sujet-12614-convertir-un-fichier-m3u-en-mp3
[Windows] Obtenir la liste des fichiers d'un dossierLister le contenu d'un dossier Voici une astuce simple qui permet de lister le nom des fichiers contenus dans un répertoire. Vous pourrez obtenir en un clic les titres de vos chansons, de vos photos, etc. dans un fichier... www.commentcamarche.net/faq/sujet-2662-windows-obtenir-la-liste-des-fichiers-d-un-dossier
[MS-Dos] Lister le contenu d'un répertoire dans un fichierIl peut s'avérer pratique d'effectuer le listage d'un ou plusieurs répertoires dans un fichier, afin de tenir par exemple un catalogue de fichiers. Sous MS-Dos (ou sous Windows en ouvrant une fenêtre d'invite de commande MS-Dos) il est possible... www.commentcamarche.net/faq/sujet-948-ms-dos-lister-le-contenu-d-un-repertoire-dans-un-fichier
[php] Listage fichiers sous repertoires (Résolu)Bonjour à tous, J'ai deux scripts php trouvés ici et là. Le premier liste les sous repertoires d'un repertoire : www.commentcamarche.net/forum/affich-8090548-php-listage-fichiers-sous-repertoires
Script pour afficher fichiers d1 répertoire (Résolu)Bonjour a toutes et tous, Je réalise un script unix dans le cadre de mon travail, et je voudrais afficher à l'écran la liste des fichiers contenus dans un répertoire ( qui n'est pas le répertoire dans lequel je travaille ). Cette commande de... www.commentcamarche.net/forum/affich-4136806-script-pour-afficher-fichiers-d1-repertoire
[Unix] Récupérer le dernier fichier créé (Résolu)Bonjour, J'aimerais savoir s'il était possible de récupérer le dernier fichier créé dans un répertoire. Je sais que la commande ll -rt permet de lister les fichiers par ancienneté mais j'aimerais implémenter cette commande d'une... www.commentcamarche.net/forum/affich-2872168-unix-recuperer-le-dernier-fichier-cree
Télécharger Leech FTP Leech FTP est un logiciel permettant d'envoyer ou bien de télécharger des fichiers. Il liste des fichiers locaux, liste des fichiers distants, file d’attente des téléchargements, informations liées à la journalisation et une excellente barre... www.commentcamarche.net/telecharger/telecharger-34055217-leech-ftp
Systèmes d'exploitation - Formats et extensions de fichiers Remarque : La liste ci-dessous n'est pas exhaustive et certains noms d'extension peuvent avoir plusieures fonctionnalités. Quant aux programmes proposés pour utiliser ces fichiers, ils ne sont pas forcément les seuls, ni les plus adaptés. Extension... www.commentcamarche.net/systemes/format.php3
Linux - Commandes Commande Description équivalent DOS ls liste le contenu d'un répertoire dir cd change de répertoire cd cd .. répertoire parent cd.. mkdir crée un nouveau répertoire md rmdir supprime un répertoire deltree cp copie de fichier copy, xcopy mv... www.commentcamarche.net/linux/lincomm.php3
Système UNIX - Commandes Commande Unix Description Options ls liste le contenu d'un répertoire -a Affiche tous les fichiers, y compris les fichiers cachés -l Affiche un listing détaillé -R Affiche les fichiers récursivement (c'est-à-dire dans les sous-répertoires) -d Affiche... www.commentcamarche.net/unix/unixcomm.php3
Toutes les réponses pour « lister les noms de fichiers d'un repertoire »