Peut-être quelqu'un saura me résoudre mon problème.
En fait, je cherche simplement à mettre dans une case la valeur d'une cellule d'un autre fichier. Commande type :
=[DATA1.xls]Sheet1!$A$1
La particularité, c'est qu'au lieu de le taper explicitement le nom du fichier (DATA1.xls), je voudrais qu'Excel aille le chercher dans une cellule qui contient le nom du fichier SOUS FORMAT TEXTE.
Le but de l'opération est d'avoir un contrôle dans une cellule du nom du fichier qu'il faut aller chercher.
Tu pourras t'inspirer de cette démo, pour écrire par VBA des Formules en Dûres...
Lien supprimé
Ici il y a une variable 'An' pour les Feuilles, mais le principe serait le même pour des chemins et noms de fichiers... (J'ai aidé sur un truc comme çà, mais plus le temps de trouver)
Mais le truc, c'est que je voudrais le faire via une formule, et non par une macro. Je sais, je suis difficile, mais c'est dans un soucis de commodité.
Je ne suis pas spécialiste de Formule, mais Indirect, utilisé avec ta syntax, Pascal, ça fonctionne, mais uniquement si le Fichier en 'Link' est Ouvert...
ou Encore (A2 contenant le Path)
=CONCATENATE('=''&A2&(INDIRECT('['&B2&']Sheet1!A1')))
Enfin je vous passe mes exemples qui n'ont aboutis à rien !! LOL mais je précise je ne suis absolument pas 'Formuliste'
Sinon En VBA, pour peu que tu aies les renseignements adéquates en Cellule 'A1'/'B1'/'C1'/'D1' ça donne çà :
Code:
Sub LinkBuilder()
Dim CellPath As String
Dim CellFile As String
Dim CellSheet As String
Dim CellRange As String
Dim TheCompletePath As String
CellPath = Range('A1') 'Chemin EG 'C:\\Mes Documents\\'
CellFile = Range('B1') 'Fichier EG 'MonTest.xls'
CellSheet = Range('C1') 'Feuille EG 'Feuil1'
CellRange = Range('D1') 'Cellule EG 'A1'
TheCompletePath = ''' & CellPath & '[' & CellFile & ']' & CellSheet & ''!' & CellRange
ActiveCell.Formula = '=' & TheCompletePath
End Sub
Voilà, par contre Marco, je te conseille gentillement de maîtriser un petit peu les mots que tu emploies dans ce Forum, on est pas dans un Tchat ou je ne sais quelle foire.
Tu as notre Charte qui devrait t'aider à être un peu plus 'XLD-Compliant', merci d'avance.
Si l'argument réf_texte fait référence à un autre classeur (une référence externe), ce dernier doit être ouvert. Si le classeur auxiliaire ne l'est pas, la fonction INDIRECT renvoie la valeur d'erreur #REF!