Chemin du fichier dépendant d'un cellule Excel

Bonjour,

J'ai un petit problème avec excel. Si quelqu'un peut m'indiquer une solution.

Je vais dans une case chercher les valeur d'un autre ficheir excel, non ouvert :

'C:\USER\[nomfichier_date.xls]Commitments'!$A3

Je souhaite simplement pouvoir changer la date à un endroit du fichier, et que tous le fichier soit actualisé.

J'ai donc fait

"'C:\USER\[nomfichier_"&C2&".xls]Commitments'!$A3"

avec C2 contenant la date au format ddmmyy mais je me retrouve dans excel avec une case D3 ='C:\USER\[nomfichier_date.xls]Commitments'!$A3

Comment faire pour lui indiquer que ce n'est pas une chaine de caractère mais bien un chemin à suivre et appliquer?

Merci

Bonjour

=INDIRECT("'C:\USER\[nomfichier_"&TEXTE(C2;"jjmmaa")&".xls]Commitments'!$A$3")

ou (anglais)

=INDIRECT("'C:\USER\[nomfichier_"&TEXT(C2;"ddmmaa")&".xls]Commitments'!$A$3")

Cordialement

Merci pour la réponse.

J'avais pensé à INDIRECT, sans succès (il faut dire que je m'y perds un peu)

J'ai tenté ceci :

=INDIRECT("'C:\Users\test2xls\[exemple_"&TEXT(C2;"ddmmaa")&".xls]Commitments'!$A$3")

et il m'indique #REF!

J'ai pourtant un dossier'C:\Users\test2xls contenant exemple_300609.xls

Quand je teste

='C:\Users\test2xls\[exemple_300609.xls]Sheet1'!$A3

cela fonctionne

Une idée de mon erreur?

Cordialement,

PS :

=INDIRECT("'C:\Users\test2xls\[exemple_300609.xls]Commitments'!$A$3")

ne fonctionne pas non plus

Je viens de comprendre en cherchant sur internet : INDIRECT (c:\\monfichier.xls) ne peut s'appliquer que si monfichier.xls est ouvert.

Il ne semble pas y avoir de solution pour les fichiers fermés

=(

Bonjour

Si, il existe une solution donnée par Laurent Longre que j'ai testé avec un fichier portant le même nom que le tien et le même chemin d'accès

Function RECUP(Fichier As String, Feuille As String, _
 Ligne As Long, Col As Integer)
 With CreateObject("Excel.Application").Workbooks.Open(Fichier)
 RECUP = .Worksheets(Feuille).Cells(Ligne, Col)
 .Close False
 End With
End Function

"Ensuite, par exemple =RECUP("C:\Test.xls";"Feuil1";5;10) pour récupérer la cellule Feuil1!J5 de ce classeur fermé (note qu'il est quand-même temporairement ouvert par la fonction...) Ca marche pour la seule raison que la fonction lit le contenu du classeur fermé par l'intermédiaire d'une nouvelle instance d'Excel. Celle-ci étant indépendante de la session active, le "verrouillage" n'a plus lieu. Attention, chaque appel de RECUP lançant une nouvelle instance d'Excel, cette fonction n'est pas très rapide à l'exécution... à utiliser donc avec modération!"

La formule devient donc: (après avoir copié le Code de la fonction personnalisée dans un Module)

=RECUP("C:\USER\test2xls\exemple_"&TEXTE(C2;"jjmmaa")&".xls";"Commitments";3;1)

Cordialement

Merci Amadéus (et également merci à Laurent Longre).

Cette technique fonctionne parfaitement sur mon ordinateur.

Elle est cependant beaucoup trop longue pour les fichiers que je traite. De plus, comme il s'agit de fichiers déjà dépendant d'autres fichiers, à chaque fois que la fonction RECUP veut ré actualiser la cellule, j'ai une petite fenêtre me demandant si je veux ré actualiser le fichier source.

Etant donné que c'est une fonction que je voualsi étendre sur du 200*AM, cela n'est pas possible.

Je garde cependant précieusement ce code, il pourra être utile sur d'autres fichiers plus légers. Il rendra également service à d'autres internautes, car malgré mes différentes recherches via google, jen'avais pas encore trouvé de solution.

Cordialement,

J'ai tenté un "UpdateLinks:=0" pour ne pas avoir le message, mais impossible de trouver l'endroit où placer ceci afin de ne plus avoir de fenêtre s'ouvrant...

Rechercher des sujets similaires à "chemin fichier dependant"