J'ai cherché un peu pour une macro / code pour m'aider à le faire, et même si j'ai trouvé plusieurs conseils, je n'ai pas trouvé de solution. Peut-être que c'est mon inexpérience avec vba ou que c'est une situation unique que je n'ai pas pu personnaliser ces codes pour fonctionner pour moi. Comme vous pouvez espérer voir à partir des autres questions que j'ai posées, j'essaie toujours de tenter une solution avant de publier ici, mais c'est une situation avec laquelle j'ai vraiment lutté et j'espère que c'est quelque chose de simple avec lequel vous pouvez m'aider.
"DirectoryA \ A",
"DirectoryA \ B",
"DirectoryA \ C",
"DirectoryA \ D",
"DirectoryA \ E",
"DirectoryA \ F",
"DirectoryA \ G",
"DirectoryA \ H",
"DirectoryA \ I",
"DirectoryA \ J"
Merci comme toujours.
Voici une option qui
Sheets
TexttoColumns
Si cela veut que vous le souhaitiez, cela peut être pointé plusieurs fois dans vos 10 dossiers ou mis à jour pour faire une boucle dans les sous-dossiers de DirectoryA
code
Sub LoopThroughFiles() Dim Wb As Workbook Dim Wb2 As Workbook Dim ws As Worksheet Dim StrFile As Ssortingng Dim strDelim As Ssortingng Dim rng1 As Range Dim rng2 As Range Dim X Dim Y Dim lngCalc As Long Dim lngCnt As Long Set Wb = ThisWorkbook Set ws = Wb.Sheets("Sheets1") Set rng1 = ws.Range(ws.[a1], ws.Cells(Rows.Count, "A").End(xlUp)) If rng1 Is Nothing Then Exit Sub X = rng1.Value2 Y = X strDelim = ";" With Application .EnableEvents = False .ScreenUpdating = False lngCalc = .Calculation .Calculation = xlManual End With StrFile = Dir("c:\temp\*.xls*") Do While Len(StrFile) > 0 Set Wb2 = Workbooks.Open("c:\temp\" & StrFile) For lngCnt = 1 To UBound(X) If Len(lngCnt) > 0 Then If IsNumeric(lngCnt) Then Set rng2 = Wb2.Sheets(1).Columns(1).Find(X(lngCnt, 1), , xlValues, xlWhole) If Not rng2 Is Nothing Then Y(lngCnt, 1) = Y(lngCnt, 1) & ";" & rng2.Offset(0, 1) End If End If End If Next StrFile = Dir Wb2.Close False Loop Set ws = Wb.Sheets.Add ws.[a1].Resize(UBound(X), 1).Value2 = Y ws.Columns(1).TextToColumns ws.[a1], xlDelimited, , True, Other:=True With Application .EnableEvents = True .ScreenUpdating = True .Calculation = lngCalc End With End Sub