Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lister les fichiers d'un répertoire

12 réponses
Avatar
mabouille
Bonjour le monde,
Avec Excel 2003 sous Vista (et peut être bientôt Excel 2007)

Pour simplifier disons que dans le répertoire A il y a deux sous répertoires
B et C, contenant chacun environ 80 fichiers (nombre variable).

Je voudrais que ma macro inscrive sur les lignes de l'onglet Feuil1 d'un
nouveau fichier dénommé ListeAdresses le chemin d'accès complet de tous les
fichiers de A, qu'ils soient dans le répertoire B ou dans C.
Une ligne par fichier, liste démarrant par exemple en B10 de Feuil1 de
ListeAdresses.

Euh, et comme il est possible que je doive évoluer cette année à Excel 2007
(sauf si la boîte attends Excel 2010?) il faudrait que le code soit
compatible ou pas trop incompatible lors du changement.
J'ai essayé de chercher dans les forum mais je serais content si vous me
souffliez "le" code miracle!
Merci de votre aide,
Cordialement
Mabouille

10 réponses

1 2
Avatar
FdeCourt
Salut,

Un fichier, probablement un peu compliqué, mais qui fonctionne et te
permet de lister les fichiers d'un répertoire et des répertoires
enfants, et en évitant les doublons (tu peux lancer 5 fois le code, ça
ne fera pas 5 fois la liste).

Normalement, ca devrait fonctionner sous 2007 (mais je n'ai pas
tester)

http://tinyurl.com/ydmem8y

Cordialement,

F.
Avatar
Michel MTO
Bonjour,

Le lien est mort !!!!

Michel

"FdeCourt" a écrit dans le message de
news:
Salut,

Un fichier, probablement un peu compliqué, mais qui fonctionne et te
permet de lister les fichiers d'un répertoire et des répertoires
enfants, et en évitant les doublons (tu peux lancer 5 fois le code, ça
ne fera pas 5 fois la liste).

Normalement, ca devrait fonctionner sous 2007 (mais je n'ai pas
tester)

http://tinyurl.com/ydmem8y

Cordialement,

F.
Avatar
FdeCourt
Etrange, au boulot et chez moi il fonctionne !!!

http://tinyurl.com/ydmem8y

Cliques dessus, ou copies/colles dans la barre d'adresse.

Cordialement,

F.
Avatar
Michel MTO
Etrange, c'est vrai !!
voici le message que j'ai à l'écran :
Error: Unable to find site's URL to redirect to


"FdeCourt" a écrit dans le message de
news:
Etrange, au boulot et chez moi il fonctionne !!!

http://tinyurl.com/ydmem8y

Cliques dessus, ou copies/colles dans la barre d'adresse.

Cordialement,

F.


Avatar
Daniel.C
Bonjour.
Tu ne serais pas derrière un proxy ?
Daniel

Etrange, c'est vrai !!
voici le message que j'ai à l'écran :
Error: Unable to find site's URL to redirect to


"FdeCourt" a écrit dans le message de
news:
Etrange, au boulot et chez moi il fonctionne !!!

http://tinyurl.com/ydmem8y

Cliques dessus, ou copies/colles dans la barre d'adresse.

Cordialement,

F.




Avatar
FdeCourt
Ok, alors essayes avec ca :

http://www.world-is-yours.com/tools/share/dld.php?i{1d7c26-5cb8-4ade-a1 1a-a7aa859acb2f

Attention, elle peut être tronquée (elle se termine par acb2f)

Cordialement,

F.
Avatar
LSteph
Bonjour,

Supposons ton repertoire "c:travail" et deux sous repertoires repA et
repB

'''''''dans module1

Sub listr()
listfic ("c:travailrepA")
listfic ("c:travailrepB")
End Sub

Sub listfic(rep As String)
Dim f As String
ChDir rep
f = Dir("*.xls")
Do While Len(f) > 0
Feuil1.[a65536].End(xlUp)(2) = rep & f
f = Dir
Loop
End Sub
'''''''''''
'lSteph

On 3 fév, 20:12, "mabouille" wrote:
Bonjour le monde,
Avec Excel 2003 sous Vista (et peut être bientôt Excel 2007)

Pour simplifier disons que dans le répertoire A il y a deux sous répe rtoires
B et C, contenant chacun environ 80 fichiers (nombre variable).

Je voudrais que ma macro inscrive sur les lignes de l'onglet Feuil1 d'un
nouveau fichier dénommé ListeAdresses le chemin d'accès complet de tous les
fichiers de A, qu'ils soient dans le répertoire B ou dans C.
Une ligne par fichier, liste démarrant par exemple en B10 de Feuil1 de
ListeAdresses.

Euh, et comme il est possible que je doive évoluer cette année à Ex cel 2007
(sauf si la boîte attends Excel 2010?) il faudrait que le code soit
compatible ou pas trop incompatible lors du changement.
J'ai essayé de chercher dans les forum mais je serais content si vous m e
souffliez "le" code miracle!
Merci de votre aide,
Cordialement
Mabouille


Avatar
LSteph
petit rectif ici:

Feuil1.[a65536].End(xlUp)(2) = rep & "" & f


On 4 fév, 12:11, LSteph wrote:
Bonjour,

Supposons ton repertoire "c:travail" et deux sous repertoires repA et
repB

'''''''dans module1

Sub listr()
listfic ("c:travailrepA")
listfic ("c:travailrepB")
End Sub

Sub listfic(rep As String)
Dim f As String
ChDir rep
f = Dir("*.xls")
Do While Len(f) > 0
Feuil1.[a65536].End(xlUp)(2) = rep & f
f = Dir
Loop
End Sub
'''''''''''
'lSteph

On 3 fév, 20:12, "mabouille" wrote:



> Bonjour le monde,
> Avec Excel 2003 sous Vista (et peut être bientôt Excel 2007)

> Pour simplifier disons que dans le répertoire A il y a deux sous ré pertoires
> B et C, contenant chacun environ 80 fichiers (nombre variable).

> Je voudrais que ma macro inscrive sur les lignes de l'onglet Feuil1 d'u n
> nouveau fichier dénommé ListeAdresses le chemin d'accès complet d e tous les
> fichiers de A, qu'ils soient dans le répertoire B ou dans C.
> Une ligne par fichier, liste démarrant par exemple en B10 de Feuil1 d e
> ListeAdresses.

> Euh, et comme il est possible que je doive évoluer cette année à Excel 2007
> (sauf si la boîte attends Excel 2010?) il faudrait que le code soit
> compatible ou pas trop incompatible lors du changement.
> J'ai essayé de chercher dans les forum mais je serais content si vous me
> souffliez "le" code miracle!
> Merci de votre aide,
> Cordialement
> Mabouille- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
mabouille
Bonsoir,
Merci LSteph, j'ai essayé ton code, il marche bien, et en plus lui aussi m'a
appris bien des choses sur les instructions VBA (un bon sujet d'étude pour
moi donc!!)
Mais la solution donnée au bout du lien de FdeCourt me convient mieux car
elle explore tous les répertoires et sous répertoires, donc dépasse
largement le petit exemple que j'avais donné pour rester simple.
Cordialement
Mabouille
===========================

"LSteph" a écrit dans le message de
news:
petit rectif ici:

Feuil1.[a65536].End(xlUp)(2) = rep & "" & f


On 4 fév, 12:11, LSteph wrote:
Bonjour,

Supposons ton repertoire "c:travail" et deux sous repertoires repA et
repB

'''''''dans module1

Sub listr()
listfic ("c:travailrepA")
listfic ("c:travailrepB")
End Sub

Sub listfic(rep As String)
Dim f As String
ChDir rep
f = Dir("*.xls")
Do While Len(f) > 0
Feuil1.[a65536].End(xlUp)(2) = rep & f
f = Dir
Loop
End Sub
'''''''''''
'lSteph

On 3 fév, 20:12, "mabouille" wrote:



> Bonjour le monde,
> Avec Excel 2003 sous Vista (et peut être bientôt Excel 2007)

> Pour simplifier disons que dans le répertoire A il y a deux sous
> répertoires
> B et C, contenant chacun environ 80 fichiers (nombre variable).

> Je voudrais que ma macro inscrive sur les lignes de l'onglet Feuil1 d'un
> nouveau fichier dénommé ListeAdresses le chemin d'accès complet de tous
> les
> fichiers de A, qu'ils soient dans le répertoire B ou dans C.
> Une ligne par fichier, liste démarrant par exemple en B10 de Feuil1 de
> ListeAdresses.

> Euh, et comme il est possible que je doive évoluer cette année à Excel
> 2007
> (sauf si la boîte attends Excel 2010?) il faudrait que le code soit
> compatible ou pas trop incompatible lors du changement.
> J'ai essayé de chercher dans les forum mais je serais content si vous me
> souffliez "le" code miracle!
> Merci de votre aide,
> Cordialement
> Mabouille- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
mabouille
Bonsoir,
Ca marche aussi, on tombe sur le même fichier, ton lien est tout bon
Cordialmeent
Mabouille
======================= "FdeCourt" a écrit dans le message de
news:
Ok, alors essayes avec ca :

http://www.world-is-yours.com/tools/share/dld.php?i{1d7c26-5cb8-4ade-a11a-a7aa859acb2f

Attention, elle peut être tronquée (elle se termine par acb2f)

Cordialement,

F.
1 2