ah oui, genre
Function RechercheClasseurFerme(fichier As String, adresse As String)
Dim onglet As String, chemin As String
chemin = ThisWorkbook.Path ' si différent, mettre le chemin du dossier dans lequel se trouvent les fichiers de base
onglet = "Feuil1"
RechercheClasseurFerme = "'='" & chemin & "\[" & fichier & ".xlsx]" & onglet & "'!" & adresse
End Function
avec pour activer la fonction
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Value = Replace(Target.Value, "'=", "=")
End Sub
l'avantage c'est que la valeur est figée, l'inconvénient c'est que la fonction de base disparait au profit de la valeur...
Mais de toute façon, je me méfie de plus en plus de fonction personnalisée dont je n'arrive pas à maîtriser le déclenchement, même avec application.volatile
Je maintiens ma proposition qui paraît simple.