ebenezerkonan
XLDnaute Nouveau
Bonjour chers tous, heureux de vous retrouver
J'ai sous la main une macro, qui me permets de nommer un répertoire pour lecture:
' Définir le répertoire à lire
pth = "C:\Users\S_ebekonan\Desktop\Dossier EBEN\ETATS 2021\ETATS MOOV MONEY\3-MARS 2021\bouclage du 01"
' Créer le fichier résultat
Set res = Workbooks.Add(xlWBATWorksheet)
Set dst = res.Worksheets(1).Range("A1")
' Lecture du répertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set rep = fso.GetFolder(pth)
Set cfr = rep.Files
' Contrôler chaque fichier du répertoire
For Each fic In cfr
' - Vérifier s'il s'agit d'un fichier Excel...
If StrComp(fso.GetExtensionName(fic.Name), "xlsb", vbTextCompare) = 0 Then
' ... dans l'affirmative, ouvrir le fichier et mettre à jour les liaisons
Set wbk = Workbooks.Open(Filename:=pth & "\" & fic.Name, UpdateLinks:=xlUpdateLinksAlways)
' Copier la colonne en dessous
Set rng = wbk.Worksheets(36).UsedRange
rng.Copy dst
wbk.Worksheets(36).UsedRange: la feuille à traiter est la 36e feuille de chaque classeur du répertoire.
Bref, je dois toujours ouvrir VBA pour changer le chemin d'accès.
Ce que je veux faire, c'est générer une boîte de dialogue qui me demande le dossier à traiter ou bien le chemin d'accès.
PLEASE HELP ME !!!
J'ai sous la main une macro, qui me permets de nommer un répertoire pour lecture:
' Définir le répertoire à lire
pth = "C:\Users\S_ebekonan\Desktop\Dossier EBEN\ETATS 2021\ETATS MOOV MONEY\3-MARS 2021\bouclage du 01"
' Créer le fichier résultat
Set res = Workbooks.Add(xlWBATWorksheet)
Set dst = res.Worksheets(1).Range("A1")
' Lecture du répertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set rep = fso.GetFolder(pth)
Set cfr = rep.Files
' Contrôler chaque fichier du répertoire
For Each fic In cfr
' - Vérifier s'il s'agit d'un fichier Excel...
If StrComp(fso.GetExtensionName(fic.Name), "xlsb", vbTextCompare) = 0 Then
' ... dans l'affirmative, ouvrir le fichier et mettre à jour les liaisons
Set wbk = Workbooks.Open(Filename:=pth & "\" & fic.Name, UpdateLinks:=xlUpdateLinksAlways)
' Copier la colonne en dessous
Set rng = wbk.Worksheets(36).UsedRange
rng.Copy dst
wbk.Worksheets(36).UsedRange: la feuille à traiter est la 36e feuille de chaque classeur du répertoire.
Bref, je dois toujours ouvrir VBA pour changer le chemin d'accès.
Ce que je veux faire, c'est générer une boîte de dialogue qui me demande le dossier à traiter ou bien le chemin d'accès.
PLEASE HELP ME !!!