Access, lister contenu d'un dossier + cliquable [Résolu/Fermé]

Messages postés
55
Date d'inscription
lundi 7 octobre 2013
Statut
Membre
Dernière intervention
16 février 2017
- - Dernière réponse : Brandysve
Messages postés
55
Date d'inscription
lundi 7 octobre 2013
Statut
Membre
Dernière intervention
16 février 2017
- 31 janv. 2014 à 15:52
Bonjour CCM,

Voilà, j'ai un formulaire access ou je souhaiterai y insérer une zone (rectangle, liste déroulante, peu importe..) qui afficherait en temps réel tous les fichiers excel se trouvant dans un dossier. De plus, si une personne double clique sur le nom d'un de ses fichiers, il devra s'ouvrir.

Avez-vous une idée?

Brandysve
Afficher la suite 

3 réponses

Messages postés
1145
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
26 mars 2019
69
0
Merci
Bonjour,

Regarde ce code (a adapter) :


Private Sub Form_Current()
Dim strDossier As String
Dim strFichier As String

strDossier = "D:\Modèle\2 et 3\"

' Vérifier que le dossier existe bien
If Dir(strDossier, vbDirectory) = "" Then
MsgBox "Dossier introuvable !", vbExclamation
Exit Sub
End If

' Lister tous les fichiers du dossier
strFichier = Dir(strDossier, vbNormal)
While strFichier <> ""

' Afficher le nom du fichier
Me.ModeleG.AddItem strFichier 'me.ModeleG est une liste déroulante

' Lire le fichier suivant
strFichier = Dir
Wend
End Sub


Tu peux déjà lister tout les fichier d'un dossier (pas que excel)

Si ca peu t'aider,
Messages postés
55
Date d'inscription
lundi 7 octobre 2013
Statut
Membre
Dernière intervention
16 février 2017
4
0
Merci
Merci eljojo_e, j'ai presque résolu mon souci.

Voilà ce que j'ai trouvé via l'aide access

Private Sub ListBox2_Click()
MsgBox ListBox2.Value
End Sub
Private Sub Form_Open(Cancel As Integer)
Me.ListBox2.RowSourceType = "Liste valeurs"
Me.ListBox2.RowSource = ShowFolderList("C:\Users\***\Desktop\En attente")
End Sub

Function ShowFolderList(folderspec) As String
Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)
Set fc = f.Files
For Each f1 In fc
s = s & f1.Name
s = s & ";"
Next
ShowFolderList = s
End Function

Seulement maintenant je voudrais que lorsque je double_click sur le nom d'un fichier, il s'ouvre
eljojo_e
Messages postés
1145
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
26 mars 2019
69 -
Avec mon code qui alimente une liste déroulante, tu met un code sur l'évènement sur après_maj, qui ouvre le fichier avec le nom que tu as sélectionné :


Private Sub xxxx_afterupdate()
Dim xls As Excel.Application
On Error GoTo errHnd
Set xls = CreateObject("Excel.Application")
xls.Workbooks.Open "D:\tartanpion\" & me.Listedéroulante.value ' et si il n'y a pas les extension, rajoute & ".xls"
xls.Visible = True
Exit Sub
errHnd:
MsgBox "Erreur N° " & Err.Number & vbLf & Err.Description, , Err.Source
End Sub
Messages postés
55
Date d'inscription
lundi 7 octobre 2013
Statut
Membre
Dernière intervention
16 février 2017
4
0
Merci
Merci beaucoup eljojo_e, c'est niquel o/

A bientôt