Access, lister contenu d'un dossier + cliquable

Résolu/Fermé
Brandysve Messages postés 55 Date d'inscription lundi 7 octobre 2013 Statut Membre Dernière intervention 16 février 2017 - 31 janv. 2014 à 14:29
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

3 réponses

eljojo_e Messages postés 1155 Date d'inscription lundi 10 mai 2010 Statut Membre Dernière intervention 14 octobre 2022 153
31 janv. 2014 à 15:34
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,
0
Brandysve Messages postés 55 Date d'inscription lundi 7 octobre 2013 Statut Membre Dernière intervention 16 février 2017 5
Modifié par Brandysve le 31/01/2014 à 15:41
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
0
eljojo_e Messages postés 1155 Date d'inscription lundi 10 mai 2010 Statut Membre Dernière intervention 14 octobre 2022 153
31 janv. 2014 à 15:45
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
0
Brandysve Messages postés 55 Date d'inscription lundi 7 octobre 2013 Statut Membre Dernière intervention 16 février 2017 5
31 janv. 2014 à 15:52
Merci beaucoup eljojo_e, c'est niquel o/

A bientôt
0