Lister les fichiers d'un répertoire

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FdeCourt
Le #21121731
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.
Michel MTO
Le #21125381
Bonjour,

Le lien est mort !!!!

Michel

"FdeCourt" 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.
FdeCourt
Le #21125481
Etrange, au boulot et chez moi il fonctionne !!!

http://tinyurl.com/ydmem8y

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

Cordialement,

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


"FdeCourt" 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.


Daniel.C
Le #21125861
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" 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.




FdeCourt
Le #21125841
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.
LSteph
Le #21126461
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"
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


LSteph
Le #21127421
petit rectif ici:

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


On 4 fév, 12:11, 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"


> 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 -


mabouille
Le #21130541
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" news:
petit rectif ici:

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


On 4 fév, 12:11, 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"


> 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 -


mabouille
Le #21130531
Bonsoir,
Ca marche aussi, on tombe sur le même fichier, ton lien est tout bon
Cordialmeent
Mabouille
======================= "FdeCourt" 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.
Publicité
Poster une réponse
Anonyme