Vba

stefanrkik Messages postés 3 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 21 juillet 2008 - 18 juil. 2008 à 20:53
stefanrkik Messages postés 3 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 21 juillet 2008 - 21 juil. 2008 à 15:55
bonjour,
je suis un débutant en vba et j'ai un problème urgent.
j'ai récupérer les nom des dossiers, qui se trouvent dans un path bien déterminé, dans un combobox.
je veux récupérer les nom des fichiers, qui se trouvent dans le dossier sélectionné par l'utilisateur, dans une listbox.
alors comment faire (syntaxe)?
merci beaucoup.

NB: j'ai écrit ceci pour les dossiers.
fold = Dir("C:", vbDirectory)
Do While fold <> ""
    If fold <> "." And fold <> ".." Then
        Form1.Combo1.AddItem fold
    End If
fold = Dir
Loop

4 réponses

MasterCent Messages postés 83 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 14 décembre 2011 1
18 juil. 2008 à 21:26
Salut Stefanrkik,

tu pourais utiliser FileStystemObject
( menu tools - references - [cocher ] Windows script host )
Tape fso dans la zone de recherche du forum, tu auras toute l'info ...

cela ressemblera à :

dim Dossier as folder
dim fichier as file

set dossier = fso.getFolder ( strDossier )
for each fichier in dossier.files
    Form1.Combo1.AddItem



fichier.name
next



Bon boulot,
 

m100
0
stefanrkik Messages postés 3 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 21 juillet 2008
21 juil. 2008 à 10:11
Merci beaucoup MasterCent.
ça a marché pour les noms des dossiers dans le combobox.
mais une fois le dossier sélectionné dans le combobox la liste des noms de fichiers de ce dossier doivent s'afficher dans la listbox. j'ignore où mettre ce bout de code (dans quelle procédure)

For Each fichier In dossier2.files
      UserForm1.ListBox1.AddItem fichier.name
Next

Merci.
0
MasterCent Messages postés 83 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 14 décembre 2011 1
21 juil. 2008 à 13:59
Pas de quoi,

Si je comprend bien, tu arrives à afficher les dossiers dans ton combobox.
Je te conseil de diviser ton problème :

une fonction qui recoit en argument le chemin du dossier, et qui rempli ta liste box


function Remplir ( strPathDossier )
   
    '...

    set Dossier2 = fso.getFolder ( strPathDossier )

    For Each fichier In dossier2.files
      UserForm1.ListBox1.AddItem fichier.name   
    Next

end function




et par ailleurs, soit par un bouton, soit par un événement de ton combobox (  _onselect ? ),
tu détermines le nom de dossier ( et sn chemin), et tu le passes à la fonction remplir...

bat

m100
 
0
stefanrkik Messages postés 3 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 21 juillet 2008
21 juil. 2008 à 15:55
Merci infiniment. vraiment vous m'avez sauvé MasterCent.
c'est vrai, c'est mieux comme ça.
stefan.
un grand merci.
0
Rejoignez-nous