Bonjour,
une proposition qui vaut ce qu'elle vaut mais qui pourrait te dépanner.
Inscrit tes formules en utilisant un nom de fichier par défaut (qui sera existant pour contrôler la validité de tes formules).
Ici j'ai choisi original.* (l'extension importe peu. Mais le nom de fichier de ta première ligne peut convenir tant qu'on ne puisse pas le confondre avec une autre chaine dans tes formules.
C'est ce nom qu'on doit retrouver dans toutes les lignes.
Active la feuille concernée et lance cette macro :
Sub rempNomFichier()
Const nomDefaut As String = "original" ' nom fichier par défaut, à adapter
Dim pl As Range, c As Range
Set pl = Cells.SpecialCells(xlCellTypeFormulas)
If Not pl Is Nothing Then
For Each c In pl
If InStr(c.Formula, nomDefaut) > 0 Then c.Formula = Replace(c.Formula, nomDefaut, Cells(c.Row, 2)) 'recup nom fichier en B
Next c
End If
End Sub
La macro scrute toutes les formules de la feuille et remplace le nom par défaut par celui trouvé en colonne B même ligne.
Pour tes références structurées en absolu tu peux utiliser cette syntaxe à la place de Indirect():
une colonne : table1[[column1]:[column1]]
une cellule même ligne, colonne absolue : table1[@[column1]:[column1]]
Difficile à tester sans fichier, à toi de jouer et de dire
eric