Lien externe dynamique : Formule impossible ?

Bonjour à tous !

je galère depuis pas mal de temps pour faire des liens dynamique externe : je m'explique

--> je cherche à faire des lien vers des fichiers externe, dont le nom serai contenu dans plusieurs cellules

explications :

ce que je veux obtenir : "Cellule E" ='\\monordinateur\dossierA\[fichier.xls]feuil1'A1

et je voudrai que cette cellule E soit générée par le contenu de plusieurs cellule :

c'est à dire :

cellule A = \\monordinateur\

cellule B = dossierA

cellule C = [fichier.xls]

cellule D = feuil1'A1

cellule E = ???

En espérant être assez clair .. car là je sèche complétement ...la fonction "concatener" ne pouvant pas ammener vers des lien externe ni le caractère "&" ... je galère !

Suis-je en train de demander l'impossible ?

Bonjour et bienvenue,

Pourquoi ne pas faire cela avec un lien hypertexte via INSERTION / LIEN HYPERTEXTE

A te relire

Dan

Merci de ta réponse rapide !

Oui, je peux passer par des liens hypertextes ( et c'est ce que je fait jusqu'à présent) ... seulement ma problématique est de créer des liens dynamiques :

Pour revenir a mon exemple, je veux pouvoir changer la valeur de la "cellule C", afin que cela change la cible du lien externe en "cellule E" automatiquement.

vois-tu ce que je cherche a faire ?

re,

utilise la fonction excel LIEN_HYPERTEXTE()

Exemple :

=LIEN_HYPERTEXTE(CelluleA&CelluleB&CelluleC&CelluleD)

N'oublie pas les "\" si nécessaire et à rajouter dans ta formule.

exemple sur base de tes données ici :

=LIEN_HYPERTEXTE(CelluleA&CelluleB&"\"&CelluleC&CelluleD)

Amicalement

Dan

Merci encore Dan, mais y'a t-il une façon d'obtenir la valeur au bout du lien au lien d'avoir juste le lien ?

Car c'est bien la valeur qui se trouve dans la case \\monordinateur\dossierA\[fichier.xls]feuil1'A1 qui m'intéresse ... et non le fait d'accéder au fichier... (mon intitulé de post est peut-être mal rédigé)

Peut-être est-ce une option de la fonction LIEN_HYPERTEXTE() ? mais je nous trouve de concluant dans l'aide.

haaaarrrfff j'y suis presque ...

J'ai trouver un moyen de solutionner mon problème ... le seul soucis que cela ne fonctionne pas si le document cible n'est pas ouvert ... a cause de la fonction indirect ...

solution foireuse :

cellule E = indirect( " ' " & celluleA & celluleB & celluleC & celluleD)

Des idées pour que cela fonctionne même fichier cible fermé ?

re,

Il te faut utiliser la fonction INDIRECT si je vois ce que tu veux faire.

Par contre le fichier doit être ouvert...

Vois ce lien -->https://forum.excel-pratique.com/viewtopic.php?t=4584

Amicalement

Dan.

N'oublie pas de mettre le fil RESOLU si ton pb est terminé.

Merci de ta participation

nos posts ont du se croiser ...

effectivement, cela ne fonctionne avec "indirect" que si le fichier est ouvert ... hors dans le cas que je veux mettre en place il n'est pas envisageable d'aller ouvrir les fichiers cible pour la mise a jour des valeurs...

... je recherche donc toujours une solution ...

Je me répond a moi-même :

J'ai trouvé une solution, qui me convient à moitié, mais qui a le mérite de fonctionner :

L'ajout de la bibliothèque "morefunc" qui ajoute une fonction indirect.ext qui comble le manque de la fonction indirect.

Cela dit, je suis également preneur d'une solution plus "propre" c'est a dire ne faisant pas appel des des macros externe ...

Merci d'avance a qui en trouvera une...

Salut le forum

Regarde si cette macro pourrait te convenir

'récupération de données dans un classeur fermé
'(méthode "classique" par établissement d'une liaison temporaire)
'(c'est aussi la technique habituellement conseillée pour essayer
'de récupérer des données d'un classeur endommagé)

Sub test()
 GetValuesFromAClosedWorkbook "D:", "TestADO.xls", "Feuil1", "A1:H25"
End Sub

Sub GetValuesFromAClosedWorkbook(fPath As String, _
   fName As String, sName, cellRange As String)
'Ron De Bruin, mpep
'le paramètre 'cellRange' doit désigner
'*une* plage de cellules *contigües*
 With ActiveSheet.Range(cellRange)
  .Formula = "='" & fPath & "\[" & fName & "]" _
     & sName & "'!" & cellRange
  .Value = .Value
 End With
End Sub

Mytå

Merci pour ta macro... pourrais-je avoir des explications quand à sa mise en place ?

Pour ma solution a base de formules issues de "morefunc" j'ai du laisser laisser tomber la fonction indirect.ext car cette dernière est beaucoup plus gourmande en ressources qu'une fonction native ... et je me retrouve avec des classeurs complétement ralentis et inutilisables ... (plusieurs milliers de liens a faire...)

... en espérant que cette macro soit moins gourmande en ressources...

Rechercher des sujets similaires à "lien externe dynamique formule impossible"