Exécuter une macro sur tous les fichiers d'un répertoire

Le
Tatoonage
Bonjour à tous,

J'ai une liste de répertoire dans un tableau excel, tous en colonne.
Chaque ligne correspond donc à un répertoire.
Je voudrais donc exécuter une macro sur chaque fichier contenu dans
chaque répertoire.

Une idée ? Merci d'avance.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19426051
Bonjour Tatoonage,

Adapte le nom de la feuille et de la plage de cellules.
le contenu de tes cellules doit correspondre à un
chemin de répertoire existant.
ça devrait ressembler à ceci :

'------------------------------------
Sub Test()
Dim Rg as range,Fichier as string, C as range

With Worksheets("Feuil1")
set Rg = .range("A1:A" & .Range("A65536").end(xlup).row)
End with

For each c in Rg
if c<>"" then
Fichier = dir(c & "*.*")
do while fichier <> ""
'Fichier = "Nom du fichier seulement"
"C = Chemin du fichier inscrit dans la cellule"
'le traitement de ton fichier

fichier = dir()
loop
end if
next
end sub
'------------------------------------


"Tatoonage"
Bonjour à tous,

J'ai une liste de répertoire dans un tableau excel, tous en colonne.
Chaque ligne correspond donc à un répertoire.
Je voudrais donc exécuter une macro sur chaque fichier contenu dans
chaque répertoire.

Une idée ? Merci d'avance.
isabelle
Le #19426041
bonjour Tatoonage,

Sub Fichier_Répertoires()
Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
Set plg = ActiveSheet.Range("A1:A" &
ActiveSheet.Range("A65536").End(xlUp).Row)
For Each c In plg
NomDossier = c
Set Dossier = fso.GetFolder(NomDossier)
Set Files = Dossier.Files
If Files.Count <> 0 Then
For Each File In Files
MsgBox File.Name
'action à accomplir ici
Next
End If
Next
End Sub

isabelle

Tatoonage a écrit :
Bonjour à tous,

J'ai une liste de répertoire dans un tableau excel, tous en colonne.
Chaque ligne correspond donc à un répertoire.
Je voudrais donc exécuter une macro sur chaque fichier contenu dans
chaque répertoire.

Une idée ? Merci d'avance.



Publicité
Poster une réponse
Anonyme