Liste déroulante de fichiers (.txt) dans USF
Re-Bonjour
Je me permet de vous écrire à nouveau car, j'aimerais savoir si il est possible de créer une liste déroulante (qui contiendrais des nom de fichier se situant dans un répertoire qu'on aurai renseigné (le répertoire) au préalable).
L'idée serait que cette liste déroulante se situe dans une USF, dans mon cas à la place du champ de texte "référence de l'OF"..
Est-ce possible? Si oui, pouvez-vous me mettre sur la piste ? (fonction à utiliser, astuces...)
Merci d'avance
Dieu bénisse ce forum
Bonjour Iliasse, bonjour le forum,
Ce petit bout de code devrait te mettre sur la voie...
Private Sub UserForm_Initialize()
Dim CH As String 'déclare la variable CH (CHemin d'accès)
Dim F As String 'déclare la varialbe F (Fichier)
CH = "C:\Users\Iliasse\Documents" 'définit le chemin CH (à adapter à ton cas)
F = Dir(CH & "\*.xls") 'définit la variable F (premier fichier Excel du dossier du chemin)
Do While F <> "" 'exécute tant qu'il existe des fichiers
Me.ComboBox1.AddItem (F) 'ajoute le fichier à la ComboBox1
F = Dir 'redéfinit la variable F (fichier suivant)
Loop 'boucle
End Sub
Merci beaucoup !!
Dieu bénisse le forum
Bonjour,
J'ai adapté ton code à mon programme mais je suis confronté à un petit problème.
Quoi que je sélectionne comme optionbutton j'ai quand même mes fichier des deux répertoire, j'aurais aimé n'avoir que les fichier de mon répertoire L1 lorsque je sélectionne optionbutton correspondant.
Je pense avoir trouvé le problème, peut être qu'il enregistre la variable qui correspond aux noms de mes fichiers dans la liste déroulantes, et que lorsque qu'on change de répertoire il retrouve quand même des noms de fichiers qui ne sont pas dans le répertoire choisi. Confirmes-tu? Y-a-t-il un moyen pour qu'il n'enregistre pas les variable (les noms de fichiers) dans la liste déroulante ?
Le code est joint au message.
PLEASE!!!
Private Sub ComboBox1_Change()
Dim CH As String 'déclare la variable CH (CHemin d'accès)
Dim F As String 'déclare la varialbe F (Fichier)
If OFamonterL1 = True Then
CH = "T:\ISh\Projet PREP\Prg\IS\L1" 'définit le chemin CH
F = Dir(CH & "\*.txt") 'définit la variable F (premier fichier txt du dossier du chemin)
Do While F <> "" 'exécute tant qu'il existe des fichiers
Me.ComboBox1.AddItem (F) 'ajoute le fichier à la ComboBox1
F = Dir 'redéfinit la variable F (fichier suivant)
Loop 'boucle
Else: OFaMonterL2 = True
CH = "T:\ISh\Projet PREP\Prg\IS\L2" 'définit le chemin CH
F = Dir(CH & "\*.txt") 'définit la variable F (premier fichier txt du dossier du chemin)
Do While F <> "" 'exécute tant qu'il existe des fichiers
Me.ComboBox1.AddItem (F) 'ajoute le fichier à la ComboBox1
F = Dir 'redéfinit la variable F (fichier suivant)
Loop 'boucle
End If
End Sub
Bonjour Iliasse, bonjour le forum,
L'erreur se situe au niverau du Else.
If Condition
Code1
Else : Code2
Code3
End If
Si la condition est [Vrai] le Code1 est lu ainsi que le Code3
si la condition est [Faux] le Code2 est lu ainsi que le Code3
Il aurait fallu écrire :
If Condition
code 1
Else
Code 2
End If
Code3
ou
If Condition1 Then Code1
If Condition2 Then Code2
Code3
Ton code modifié et simplifié :
Private Sub ComboBox1_Change()
Dim CH As String 'déclare la variable CH (CHemin d'accès)
Dim F As String 'déclare la varialbe F (Fichier)
If OFamonterL1 = True Then CH = "T:\ISh\Projet PREP\Prg\IS\L1" 'définit le chemin CH
If OFaMonterL2 = True Then CH = "T:\ISh\Projet PREP\Prg\IS\L2" 'définit le chemin CH
F = Dir(CH & "\*.txt") 'définit la variable F (premier fichier txt du dossier du chemin)
Do While F <> "" 'exécute tant qu'il existe des fichiers
Me.ComboBox1.AddItem (F) 'ajoute le fichier à la ComboBox1
F = Dir 'redéfinit la variable F (fichier suivant)
Loop 'boucle
End Sub