Lister le contenu d'un dossier dans une combobox [Résolu]

Signaler
Messages postés
4
Date d'inscription
mercredi 22 décembre 2004
Statut
Membre
Dernière intervention
14 mai 2006
-
PCPT
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
URGENT!!!
bonjour a tous

voila je suis un novice et j'ai un collègue et j'ai besoin d'un cou de main pour résoudre un petit problème.
je m'explique : je souhaiterais pouvoir récupéré le nom de tout les fichiers contenu dans un dossier connu. j'ai un problème de bouclage car il prend bien un fichier mais uniquement le premier et non pas tous. le but est ensuite de pouvoir sélectionner un des fichier et de l'ouvrir. il n'y a que deux bouton un pour actualiser, un pour exécuter le fichier sélectionner et enfin une combobox.

voici le code que j'ai :

Option Explicit
Private Const SW_SHOWNORMAL As Long = 1
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long


Private Sub CmdLancer_Click()
Execute (App.Path & "" & CbxAppli.Text)
End Sub
Private Sub Execute(Appli As String)
'test si la combobox est vide
If CbxAppli.Text <> "" Then
'Test de l extension
If Mid(Appli, InStr(1, Appli, ".") + 1, 3) = "wav" Then
PlayerMedia.open (Appli)
PlayerMedia.playd
Else
ShellExecute Me.hWnd, "open", CbxAppli.Text, vbNullString, App.Path & "\Application", SW_SHOWNORMAL
End If
End If
End Sub


Private Sub CmdRefresh_Click()
Initialisation
End Sub


Private Sub Form_Load()
Initialisation
End Sub
Private Sub Initialisation()
Dim AncienFichier As String
Dim nbFichiers As Integer
Dim nbDirectories As Integer

'init pour le rappel de la fonction
CbxAppli.Clear

'Test si le repertoire est vide ou qu' on ne lit pa plusieur fois le meme fichier
Do While (Dir(App.Path & "\Application\*.*") <> "") And Dir(App.Path & "\Application\*.*") <> AncienFichier
'ajout dans la combobox
CbxAppli.AddItem Dir(App.Path & "\Application")
'Recuperation du fichier ajouter
AncienFichier = Dir(App.Path & "\Application")
Loop

End Sub

si quelqu'un peut m'aider rapidement je suis preneur.
en cas de problème sur la compréhention de mon prblème faire moi signe

merci a tous

3 réponses

Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
30
salut,
j'ai modifié ta sub :


Private Sub Initialisation()
Dim sFile As String
sFile = Dir (App.Path & "\Application\*.*")
CbxAppli.Clear

While sFile <> vbNullString
CbxAppli.AddItem App.Path & "\Application" & sFile
sFile = Dir
Wend
End Sub


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


et ton test extension :
If LCase(RightB$(Appli, 6)) = "wav" Then

pas testé et je n'ai pas regardé le reste mais çà me semble correct...
@+
PCPT [AFCK]
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
30
CbxAppli.AddItem <strike>App.Path & "\Application" &</strike> sFile

pense à valider ;)
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Messages postés
4
Date d'inscription
mercredi 22 décembre 2004
Statut
Membre
Dernière intervention
14 mai 2006

merci beaucoup pour le cou de main.

une dernière chose comment je peux faire pour n'afficher que le nom du fichier et pas tout le chemin d'accès?

a part ca tout marche correctement.