Je sais que ce sujet a d=E9j=E0 fait l'objet de plusieurs posts mais j'ai
eu beau essayer toutes les solutions propos=E9es je ne suis pas parvenu
=E0 lister dans un tableau tous les fichiers contenus dans un
r=E9pertoire.
Assez bizarrement j'ai obtenu plus dans la version Access, plus
ancienne, sur mon ordinateur perso que celle du bureau (version 2003):
Voil=E0 la fonction que j'ai trouv=E9e, qui me semble convenir =E0 ce que je
souhaite:
Function fListFiles(strDir As String, Optional SubDir As Boolean =3D
False) As String
Dim intFile As Integer
intFile =3D 0
With Application.FileSearch
.LookIn =3D strDir
.SearchSubFolders =3D (SubDir =3D True)
.FileName =3D "*.*"
If .Execute > 0 Then
For intFile =3D 1 To .FoundFiles.Count
fListFiles =3D IIf(fListFiles =3D "", .FoundFiles(intFile), _
fListFiles & ";"
_
=20
& .FoundFiles(intFile))
Next intFile
End If
End With
End Function
Et voil=E0, peut-=EAtre =E0 tort, comment j'y ai fait appel par une macro en
cliquant sur un bouton dans un formulaire:
Private Sub Commande0_Click()
Me!LaListe.RowSource =3D fListFiles("c:")
End Sub
L'erreur: impossible de trouver le champ Laliste auquel il est fait
r=E9f=E9rence dans votre expression.
j'ai nomm=E9 une table LaListe, un champ LaListe... je suis paum=E9.
Si quelqu'un pouvait m'indiquer o=F9 je p=EAche. Merci d'avance.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jessy Sempere
Bonjour
Ton problème vient du fait que tu veux mettre la liste dans une propriété correspondant à une zone de liste alors que tu dois avoir sûrement créé un champ texte...
Voilà une solution toute faite pour mettre dans une table la liste des fichiers d'un répertoire : http://access.fr.free.fr/articles.php?lng=fr&pg8
@+ Jessy Sempere ------------------------------------ Site @ccess : http://access.fr.free.fr/ Pour l''''efficacité de tous : http://www.mpfa.info/ ------------------------------------
Bonjour à tous,
Je sais que ce sujet a déjà fait l'objet de plusieurs posts mais j'ai eu beau essayer toutes les solutions proposées je ne suis pas parvenu à lister dans un tableau tous les fichiers contenus dans un répertoire.
Assez bizarrement j'ai obtenu plus dans la version Access, plus ancienne, sur mon ordinateur perso que celle du bureau (version 2003):
Voilà la fonction que j'ai trouvée, qui me semble convenir à ce que je souhaite:
Function fListFiles(strDir As String, Optional SubDir As Boolean > False) As String Dim intFile As Integer intFile = 0 With Application.FileSearch .LookIn = strDir .SearchSubFolders = (SubDir = True) .FileName = "*.*" If .Execute > 0 Then For intFile = 1 To .FoundFiles.Count fListFiles = IIf(fListFiles = "", .FoundFiles(intFile), _ fListFiles & ";" _
& .FoundFiles(intFile)) Next intFile End If End With End Function
Et voilà, peut-être à tort, comment j'y ai fait appel par une macro en cliquant sur un bouton dans un formulaire:
Private Sub Commande0_Click() Me!LaListe.RowSource = fListFiles("c:") End Sub
L'erreur: impossible de trouver le champ Laliste auquel il est fait référence dans votre expression.
j'ai nommé une table LaListe, un champ LaListe... je suis paumé.
Si quelqu'un pouvait m'indiquer où je pêche. Merci d'avance.
Pascal
Bonjour
Ton problème vient du fait que tu veux mettre la liste dans une propriété
correspondant à une zone de liste alors que tu dois avoir sûrement créé un
champ texte...
Voilà une solution toute faite pour mettre dans une table la liste des
fichiers d'un répertoire :
http://access.fr.free.fr/articles.php?lng=fr&pg8
@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------
Bonjour à tous,
Je sais que ce sujet a déjà fait l'objet de plusieurs posts mais j'ai
eu beau essayer toutes les solutions proposées je ne suis pas parvenu
à lister dans un tableau tous les fichiers contenus dans un
répertoire.
Assez bizarrement j'ai obtenu plus dans la version Access, plus
ancienne, sur mon ordinateur perso que celle du bureau (version 2003):
Voilà la fonction que j'ai trouvée, qui me semble convenir à ce que je
souhaite:
Function fListFiles(strDir As String, Optional SubDir As Boolean > False) As String
Dim intFile As Integer
intFile = 0
With Application.FileSearch
.LookIn = strDir
.SearchSubFolders = (SubDir = True)
.FileName = "*.*"
If .Execute > 0 Then
For intFile = 1 To .FoundFiles.Count
fListFiles = IIf(fListFiles = "", .FoundFiles(intFile), _
fListFiles & ";"
_
& .FoundFiles(intFile))
Next intFile
End If
End With
End Function
Et voilà, peut-être à tort, comment j'y ai fait appel par une macro en
cliquant sur un bouton dans un formulaire:
Private Sub Commande0_Click()
Me!LaListe.RowSource = fListFiles("c:")
End Sub
L'erreur: impossible de trouver le champ Laliste auquel il est fait
référence dans votre expression.
j'ai nommé une table LaListe, un champ LaListe... je suis paumé.
Si quelqu'un pouvait m'indiquer où je pêche. Merci d'avance.
Ton problème vient du fait que tu veux mettre la liste dans une propriété correspondant à une zone de liste alors que tu dois avoir sûrement créé un champ texte...
Voilà une solution toute faite pour mettre dans une table la liste des fichiers d'un répertoire : http://access.fr.free.fr/articles.php?lng=fr&pg8
@+ Jessy Sempere ------------------------------------ Site @ccess : http://access.fr.free.fr/ Pour l''''efficacité de tous : http://www.mpfa.info/ ------------------------------------
Bonjour à tous,
Je sais que ce sujet a déjà fait l'objet de plusieurs posts mais j'ai eu beau essayer toutes les solutions proposées je ne suis pas parvenu à lister dans un tableau tous les fichiers contenus dans un répertoire.
Assez bizarrement j'ai obtenu plus dans la version Access, plus ancienne, sur mon ordinateur perso que celle du bureau (version 2003):
Voilà la fonction que j'ai trouvée, qui me semble convenir à ce que je souhaite:
Function fListFiles(strDir As String, Optional SubDir As Boolean > False) As String Dim intFile As Integer intFile = 0 With Application.FileSearch .LookIn = strDir .SearchSubFolders = (SubDir = True) .FileName = "*.*" If .Execute > 0 Then For intFile = 1 To .FoundFiles.Count fListFiles = IIf(fListFiles = "", .FoundFiles(intFile), _ fListFiles & ";" _
& .FoundFiles(intFile)) Next intFile End If End With End Function
Et voilà, peut-être à tort, comment j'y ai fait appel par une macro en cliquant sur un bouton dans un formulaire:
Private Sub Commande0_Click() Me!LaListe.RowSource = fListFiles("c:") End Sub
L'erreur: impossible de trouver le champ Laliste auquel il est fait référence dans votre expression.
j'ai nommé une table LaListe, un champ LaListe... je suis paumé.
Si quelqu'un pouvait m'indiquer où je pêche. Merci d'avance.
Pascal
pascallerudulier
Merci beaucoup,
Je n'y arrive toujours pas... je sais appeler une macro, pas une fonction. Je ne sais pas m'en sortir donc plutôt que de m'énerver et d'abuser je préfère encore laisser de côté pour le weekend et de m'attaquer à autre chose. Merci encore. Bonne fin de semaine à tout le monde.
On 16 fév, 10:33, Jessy Sempere wrote:
Bonjour
Ton problème vient du fait que tu veux mettre la liste dans une propri été correspondant à une zone de liste alors que tu dois avoir sûrement cr éé un champ texte...
Voilà une solution toute faite pour mettre dans une table la liste des fichiers d'un répertoire :http://access.fr.free.fr/articles.php?lng=f r&pg8
@+ Jessy Sempere ------------------------------------ Site @ccess :http://access.fr.free.fr/ Pour l''''efficacité de tous :http://www.mpfa.info/ ------------------------------------
Bonjour à tous,
Je sais que ce sujet a déjà fait l'objet de plusieurs posts mais j' ai eu beau essayer toutes les solutions proposées je ne suis pas parvenu à lister dans un tableau tous les fichiers contenus dans un répertoire.
Assez bizarrement j'ai obtenu plus dans la version Access, plus ancienne, sur mon ordinateur perso que celle du bureau (version 2003):
Voilà la fonction que j'ai trouvée, qui me semble convenir à ce q ue je souhaite:
Function fListFiles(strDir As String, Optional SubDir As Boolean = False) As String Dim intFile As Integer intFile = 0 With Application.FileSearch .LookIn = strDir .SearchSubFolders = (SubDir = True) .FileName = "*.*" If .Execute > 0 Then For intFile = 1 To .FoundFiles.Count fListFiles = IIf(fListFiles = "", .FoundFiles(intFile), _ fListFiles & ";" _
& .FoundFiles(intFile)) Next intFile End If End With End Function
Et voilà, peut-être à tort, comment j'y ai fait appel par une mac ro en cliquant sur un bouton dans un formulaire:
Private Sub Commande0_Click() Me!LaListe.RowSource = fListFiles("c:") End Sub
L'erreur: impossible de trouver le champ Laliste auquel il est fait référence dans votre expression.
j'ai nommé une table LaListe, un champ LaListe... je suis paumé.
Si quelqu'un pouvait m'indiquer où je pêche. Merci d'avance.
Pascal- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Merci beaucoup,
Je n'y arrive toujours pas... je sais appeler une macro, pas une
fonction. Je ne sais pas m'en sortir donc plutôt que de m'énerver et
d'abuser je préfère encore laisser de côté pour le weekend et de
m'attaquer à autre chose.
Merci encore.
Bonne fin de semaine à tout le monde.
On 16 fév, 10:33, Jessy Sempere <jessy.semp...@prg.sncf.fr> wrote:
Bonjour
Ton problème vient du fait que tu veux mettre la liste dans une propri été
correspondant à une zone de liste alors que tu dois avoir sûrement cr éé un
champ texte...
Voilà une solution toute faite pour mettre dans une table la liste des
fichiers d'un répertoire :http://access.fr.free.fr/articles.php?lng=f r&pg=108
@+
Jessy Sempere
------------------------------------
Site @ccess :http://access.fr.free.fr/
Pour l''''efficacité de tous :http://www.mpfa.info/
------------------------------------
Bonjour à tous,
Je sais que ce sujet a déjà fait l'objet de plusieurs posts mais j' ai
eu beau essayer toutes les solutions proposées je ne suis pas parvenu
à lister dans un tableau tous les fichiers contenus dans un
répertoire.
Assez bizarrement j'ai obtenu plus dans la version Access, plus
ancienne, sur mon ordinateur perso que celle du bureau (version 2003):
Voilà la fonction que j'ai trouvée, qui me semble convenir à ce q ue je
souhaite:
Function fListFiles(strDir As String, Optional SubDir As Boolean =
False) As String
Dim intFile As Integer
intFile = 0
With Application.FileSearch
.LookIn = strDir
.SearchSubFolders = (SubDir = True)
.FileName = "*.*"
If .Execute > 0 Then
For intFile = 1 To .FoundFiles.Count
fListFiles = IIf(fListFiles = "", .FoundFiles(intFile), _
fListFiles & ";"
_
& .FoundFiles(intFile))
Next intFile
End If
End With
End Function
Et voilà, peut-être à tort, comment j'y ai fait appel par une mac ro en
cliquant sur un bouton dans un formulaire:
Private Sub Commande0_Click()
Me!LaListe.RowSource = fListFiles("c:")
End Sub
L'erreur: impossible de trouver le champ Laliste auquel il est fait
référence dans votre expression.
j'ai nommé une table LaListe, un champ LaListe... je suis paumé.
Si quelqu'un pouvait m'indiquer où je pêche. Merci d'avance.
Pascal- Masquer le texte des messages précédents -
Je n'y arrive toujours pas... je sais appeler une macro, pas une fonction. Je ne sais pas m'en sortir donc plutôt que de m'énerver et d'abuser je préfère encore laisser de côté pour le weekend et de m'attaquer à autre chose. Merci encore. Bonne fin de semaine à tout le monde.
On 16 fév, 10:33, Jessy Sempere wrote:
Bonjour
Ton problème vient du fait que tu veux mettre la liste dans une propri été correspondant à une zone de liste alors que tu dois avoir sûrement cr éé un champ texte...
Voilà une solution toute faite pour mettre dans une table la liste des fichiers d'un répertoire :http://access.fr.free.fr/articles.php?lng=f r&pg8
@+ Jessy Sempere ------------------------------------ Site @ccess :http://access.fr.free.fr/ Pour l''''efficacité de tous :http://www.mpfa.info/ ------------------------------------
Bonjour à tous,
Je sais que ce sujet a déjà fait l'objet de plusieurs posts mais j' ai eu beau essayer toutes les solutions proposées je ne suis pas parvenu à lister dans un tableau tous les fichiers contenus dans un répertoire.
Assez bizarrement j'ai obtenu plus dans la version Access, plus ancienne, sur mon ordinateur perso que celle du bureau (version 2003):
Voilà la fonction que j'ai trouvée, qui me semble convenir à ce q ue je souhaite:
Function fListFiles(strDir As String, Optional SubDir As Boolean = False) As String Dim intFile As Integer intFile = 0 With Application.FileSearch .LookIn = strDir .SearchSubFolders = (SubDir = True) .FileName = "*.*" If .Execute > 0 Then For intFile = 1 To .FoundFiles.Count fListFiles = IIf(fListFiles = "", .FoundFiles(intFile), _ fListFiles & ";" _
& .FoundFiles(intFile)) Next intFile End If End With End Function
Et voilà, peut-être à tort, comment j'y ai fait appel par une mac ro en cliquant sur un bouton dans un formulaire:
Private Sub Commande0_Click() Me!LaListe.RowSource = fListFiles("c:") End Sub
L'erreur: impossible de trouver le champ Laliste auquel il est fait référence dans votre expression.
j'ai nommé une table LaListe, un champ LaListe... je suis paumé.
Si quelqu'un pouvait m'indiquer où je pêche. Merci d'avance.
Pascal- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Eric
Bonjour,
Il te suffit sur l'évènement clic du bouton de faire : Private Sub Commande0_Click() Call FileExistDir("c:", "NomDeLaTable", "NomDuChamp") End Sub (Adapter les noms de la table et du champ)
Maintenant si la zone de liste s'appelle LaListe et est un contrôle indépendant du formulaire, il faut que la propriété Origine Source de la liste soit positionnée sur Liste Valeurs, mais sa capacité est limitée à 2048 caractères max je crois.
Dans ce cas, avec ta fonction initiale: Private Sub Commande0_Click() Me!LaListe.RowSourceType = "liste valeurs" Me!LaListe.RowSource = fListFiles("c:") End Sub
Merci beaucoup,
Je n'y arrive toujours pas... je sais appeler une macro, pas une fonction. Je ne sais pas m'en sortir donc plutôt que de m'énerver et d'abuser je préfère encore laisser de côté pour le weekend et de m'attaquer à autre chose. Merci encore. Bonne fin de semaine à tout le monde.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Il te suffit sur l'évènement clic du bouton de faire :
Private Sub Commande0_Click()
Call FileExistDir("c:", "NomDeLaTable", "NomDuChamp")
End Sub
(Adapter les noms de la table et du champ)
Maintenant si la zone de liste s'appelle LaListe et est un contrôle
indépendant du formulaire, il faut que la propriété Origine Source de la
liste soit positionnée sur Liste Valeurs, mais sa capacité est limitée à
2048 caractères max je crois.
Dans ce cas, avec ta fonction initiale:
Private Sub Commande0_Click()
Me!LaListe.RowSourceType = "liste valeurs"
Me!LaListe.RowSource = fListFiles("c:")
End Sub
Merci beaucoup,
Je n'y arrive toujours pas... je sais appeler une macro, pas une
fonction. Je ne sais pas m'en sortir donc plutôt que de m'énerver et
d'abuser je préfère encore laisser de côté pour le weekend et de
m'attaquer à autre chose.
Merci encore.
Bonne fin de semaine à tout le monde.
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Il te suffit sur l'évènement clic du bouton de faire : Private Sub Commande0_Click() Call FileExistDir("c:", "NomDeLaTable", "NomDuChamp") End Sub (Adapter les noms de la table et du champ)
Maintenant si la zone de liste s'appelle LaListe et est un contrôle indépendant du formulaire, il faut que la propriété Origine Source de la liste soit positionnée sur Liste Valeurs, mais sa capacité est limitée à 2048 caractères max je crois.
Dans ce cas, avec ta fonction initiale: Private Sub Commande0_Click() Me!LaListe.RowSourceType = "liste valeurs" Me!LaListe.RowSource = fListFiles("c:") End Sub
Merci beaucoup,
Je n'y arrive toujours pas... je sais appeler une macro, pas une fonction. Je ne sais pas m'en sortir donc plutôt que de m'énerver et d'abuser je préfère encore laisser de côté pour le weekend et de m'attaquer à autre chose. Merci encore. Bonne fin de semaine à tout le monde.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Eric
.../... Petite erreur, Call FileExistDir("c:", "NomDeLaTable", "NomDuChamp") au lieu de Call FileExistDir("c:", "NomDeLaTable", "NomDuChamp")
Bonjour,
Il te suffit sur l'évènement clic du bouton de faire : Private Sub Commande0_Click() Call FileExistDir("c:", "NomDeLaTable", "NomDuChamp") End Sub (Adapter les noms de la table et du champ)
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
.../...
Petite erreur,
Call FileExistDir("c:", "NomDeLaTable", "NomDuChamp")
au lieu de
Call FileExistDir("c:", "NomDeLaTable", "NomDuChamp")
Bonjour,
Il te suffit sur l'évènement clic du bouton de faire :
Private Sub Commande0_Click()
Call FileExistDir("c:", "NomDeLaTable", "NomDuChamp")
End Sub
(Adapter les noms de la table et du champ)
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
.../... Petite erreur, Call FileExistDir("c:", "NomDeLaTable", "NomDuChamp") au lieu de Call FileExistDir("c:", "NomDeLaTable", "NomDuChamp")
Bonjour,
Il te suffit sur l'évènement clic du bouton de faire : Private Sub Commande0_Click() Call FileExistDir("c:", "NomDeLaTable", "NomDuChamp") End Sub (Adapter les noms de la table et du champ)
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
pascallerudulier
Merci. Ca marche! Ouf. Je n'appelais pas la fonction en fait, il me manquait 'Call'. Merci encore!!
Pascal
je mets donc le résultat final:
Function FileExistDir(strDir As String, _ strTable As String, strField As String)
Dim intFile As Integer Dim strFile As String
intFile = 0: strFile = ""
With Application.FileSearch .LookIn = strDir: .FileName = "*.*" If .Execute > 0 Then For intFile = 1 To .FoundFiles.Count strFile = .FoundFiles(intFile) strFile = Right(strFile, Len(strFile) - (Len(strDir) + 1)) CurrentDb.Execute "INSERT INTO [" & strTable & "] " _ & "([" & strField & "])" _ & "SELECT """ & strFile & """ ;" Next End If End With
End Function
Private Sub Commande1_Click() Call FileExistDir("c:", "Table", "fichiers") End Sub
On 16 fév, 12:48, Eric wrote:
Bonjour,
Il te suffit sur l'évènement clic du bouton de faire : Private Sub Commande0_Click() Call FileExistDir("c:", "NomDeLaTable", "NomDuChamp") End Sub (Adapter les noms de la table et du champ)
Maintenant si la zone de liste s'appelle LaListe et est un contrôle indépendant du formulaire, il faut que la propriété Origine Source de la liste soit positionnée sur Liste Valeurs, mais sa capacité est limit ée à 2048 caractères max je crois.
Dans ce cas, avec ta fonction initiale: Private Sub Commande0_Click() Me!LaListe.RowSourceType = "liste valeurs" Me!LaListe.RowSource = fListFiles("c:") End Sub
Merci. Ca marche! Ouf. Je n'appelais pas la fonction en fait, il me
manquait 'Call'. Merci encore!!
Pascal
je mets donc le résultat final:
Function FileExistDir(strDir As String, _
strTable As String, strField As String)
Dim intFile As Integer
Dim strFile As String
intFile = 0: strFile = ""
With Application.FileSearch
.LookIn = strDir: .FileName = "*.*"
If .Execute > 0 Then
For intFile = 1 To .FoundFiles.Count
strFile = .FoundFiles(intFile)
strFile = Right(strFile, Len(strFile) - (Len(strDir) +
1))
CurrentDb.Execute "INSERT INTO [" & strTable & "] " _
& "([" & strField & "])" _
& "SELECT """ & strFile & """ ;"
Next
End If
End With
End Function
Private Sub Commande1_Click()
Call FileExistDir("c:", "Table", "fichiers")
End Sub
On 16 fév, 12:48, Eric <f_fra...@hotmail.com> wrote:
Bonjour,
Il te suffit sur l'évènement clic du bouton de faire :
Private Sub Commande0_Click()
Call FileExistDir("c:", "NomDeLaTable", "NomDuChamp")
End Sub
(Adapter les noms de la table et du champ)
Maintenant si la zone de liste s'appelle LaListe et est un contrôle
indépendant du formulaire, il faut que la propriété Origine Source de la
liste soit positionnée sur Liste Valeurs, mais sa capacité est limit ée à
2048 caractères max je crois.
Dans ce cas, avec ta fonction initiale:
Private Sub Commande0_Click()
Me!LaListe.RowSourceType = "liste valeurs"
Me!LaListe.RowSource = fListFiles("c:")
End Sub
Merci. Ca marche! Ouf. Je n'appelais pas la fonction en fait, il me manquait 'Call'. Merci encore!!
Pascal
je mets donc le résultat final:
Function FileExistDir(strDir As String, _ strTable As String, strField As String)
Dim intFile As Integer Dim strFile As String
intFile = 0: strFile = ""
With Application.FileSearch .LookIn = strDir: .FileName = "*.*" If .Execute > 0 Then For intFile = 1 To .FoundFiles.Count strFile = .FoundFiles(intFile) strFile = Right(strFile, Len(strFile) - (Len(strDir) + 1)) CurrentDb.Execute "INSERT INTO [" & strTable & "] " _ & "([" & strField & "])" _ & "SELECT """ & strFile & """ ;" Next End If End With
End Function
Private Sub Commande1_Click() Call FileExistDir("c:", "Table", "fichiers") End Sub
On 16 fév, 12:48, Eric wrote:
Bonjour,
Il te suffit sur l'évènement clic du bouton de faire : Private Sub Commande0_Click() Call FileExistDir("c:", "NomDeLaTable", "NomDuChamp") End Sub (Adapter les noms de la table et du champ)
Maintenant si la zone de liste s'appelle LaListe et est un contrôle indépendant du formulaire, il faut que la propriété Origine Source de la liste soit positionnée sur Liste Valeurs, mais sa capacité est limit ée à 2048 caractères max je crois.
Dans ce cas, avec ta fonction initiale: Private Sub Commande0_Click() Me!LaListe.RowSourceType = "liste valeurs" Me!LaListe.RowSource = fListFiles("c:") End Sub