Boucle VBA pour extraire les adresses de cellules et les résumer dans une cellule dans une autre feuille de calcul principale

J'ai le code suivant, mais ça ne me parvient pas à l'endroit où je veux:

Public Sub populateFile() Dim wbk As Workbook Dim fileName As Ssortingng Dim path As Ssortingng Dim pulledFormula As Ssortingng Dim pulledPath As Ssortingng Application.ScreenUpdating = False Application.DisplayAlerts = False Application.EnableEvents = False Application.Calculation = xlCalculationManual path = "C:\Users\Bob\Desktop\Source Files\" fileName = Dir(path & "*.xlsx*") Do While fileName <> "" Set wbk = Workbooks.Open(path & fileName, UpdateLinks:=False) j = 24 For i = 8 To 16 With Workbooks("MasterFile.xlsm").Sheets("Sheet1") If Application.WorksheetFunction.CountA(Workbooks(fileName).Sheets("SummaryTab").Range(Cells(i - 1, j - 21), Cells(i - 1, j - 13))) > 0 Then .Cells(i, j - 10).Value = fileName & vbNewLine & .Cells(i, j - 10).Value For j = 15 To 23 pulledFormula = "+" & Application.WorksheetFunction.Index(Workbooks(fileName).Sheets("SummaryTab").Range("C6:K164"), _ Application.WorksheetFunction.Match(.Cells(i, 1), Workbooks(fileName).Sheets("SummaryTab").Range("A6:A164"), 0), _ Application.WorksheetFunction.Match(.Cells(6, j), Workbooks(fileName).Sheets("SummaryTab").Range("C5:K5"), 0)).Address(External:=True) .Cells(i, j).Value = pulledFormula & .Cells(i, j).Formula Next j End If End With Next i wbk.Close fileName = Dir Loop Application.ScreenUpdating = True Application.DisplayAlerts = True Application.EnableEvents = True Application.Calculation = xlCalculationAutomatic End Sub 

Je tente donc d'extraire des adresses de cellules pertinentes (basées sur l'index / correspondance) à partir d'un tas de files dans un directory. L'étape suivante consiste à append les adresses de manière itérative avec le signe + dans l'espoir qu'en fin de count, la feuille de calcul principale peut avoir la sum de toutes les cellules concernées de tous les files ouverts dans une cellule (et pour cela pour un tas de cellules aussi). Le problème exact est que Excel refuse d'évaluer la formule concaténée résultante. J'apprécierais vraiment toutes les idées sur la façon d'améliorer ce code!

Merci!

Remarque: Je dois conserver les adresses de la cellule dans les cellules du file maître afin que d'autres personnes puissent suivre ces adresses dans les files d'alimentation, de sorte que je ne peux pas utiliser la formule Evaluate.

Cela ressemble à un problème de recalcul, ou non récurrent.

Vous pouvez utiliser cette macro simple pour appliquer F2 + Entrée sur la plage actuellement sélectionnée:

 Sub ApplyF2() Selection.Value = Selection.FormulaR1C1 End Sub 

Pouvez-vous modifier cette technique en fonction de vos besoins?