Exécuter une macro sur tous les fichiers d'un répertoire
2 réponses
Tatoonage
Bonjour =E0 tous,
J'ai une liste de r=E9pertoire dans un tableau excel, tous en colonne.
Chaque ligne correspond donc =E0 un r=E9pertoire.
Je voudrais donc ex=E9cuter une macro sur chaque fichier contenu dans
chaque r=E9pertoire.
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
MichDenis
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" a écrit dans le message de groupe de discussion :
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.
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" <benoitdubourg@gmail.com> a écrit dans le message de groupe de discussion :
7a557fc8-b155-469e-a097-4d7d0bf8e453@z5g2000vba.googlegroups.com...
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.
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" a écrit dans le message de groupe de discussion :
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
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.
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.
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.