Adresse fichier externe

Bonjour,

Je possède un fichier avec comme vous vous doutez plein de formules. Ces formules vont lire des info dans d'autres fichiers.
Du coup dans mes formules j'ai w:\\blablabla\blabla\bla.xls
Je dois malheureusement souvent changer le chemin. Ce qui n'est pas pratique.

Est-il possible d'écrire dans vba un truc genre MonFichier = "w:\\blablabla\blabla\bla.xls" comme ça dans les formules j'écris RECHERCHEV(A1:MonFichier!Liste'!$A$1:$M$521;5;0)
Du coup je n'aurai plus qu'un endrois a changer plutôt que 150 000 lignes et j'en passe.

J'espère avoir été clair.

Merci d'avance

Bonjour Betafe,

Tu pourrais utiliser la fonction INDIRECT pour pouvoir paramétrer le nom du classeur dans les formules, par exemple (en admettant que le nom du fichier soit paramétré dans la feuille "Params" et la cellule "B2" =RECHERCHEV(A1:"'"&Params!B2&"'!Liste'!$A$1:$M$521");5;0) MAIS :

  • la fonction INDIRECT ne fonctionnera que si le classeur est ouvert sinon elle retournera la valeur d'erreur #REF!
  • les plages de cellules dans les formules seront sous forme de texte donc la copie incrémentale d'une cellule ne donne pas les résultats attendus

En VBA, je ne vois pas de solution (je ne dis pas qu'elle n'existe pas) en dehors d'une fonction de remplacement global d'une chaîne de caractère par une autre.

Cdlt,

Cylfo

Bonjour,

Merci pour la réponse, mais le fichier ne sera pas forcement ouvert en même temps.

Bonjour à tous !

Avez-vous étudié la piste Power Query ?

Cet outil, nativement intégré dans Excel 2016, peut charger dans une table, les données d'un classeur externe fermé.

Au besoin, joignez un classeur source (anonymisé mais représentatif) et un classeur destination.

Bonjour,

J'appuie la proposition de JFL, Excel dispose aujourd'hui d'outils développés exprès pour la lecture dans d'autres classeurs.

Dans tous les cas il faudra revoir vos fonctions, c'est une grosse erreur que vous avez fait si vous avez entré, dans toutes les fonctions, des références "en brut" aux classeurs externes.

La manière juste de procéder, qu'importe la solution fonctions/powerquery/vba, est de réserver une partie de votre classeur pour la récupération de données, et ensuite de référer dans vos formules à ces valeurs.

Comme cela vous avez des fonctions "qui s'adaptent". En plus c'est beaucoup plus efficace car sinon il se peut que Excel parte chercher 20x la meme valeur dans un autre classeur, si vous l'utilisez dans 20 formules différentes. Avec la solution proposée c'est 1x.

Partez donc de cela pour revoir vos formules, et ensuite/ en parallèle nous pourrons réfléchir à comment importer vos données, et au besoin les traiter. Via PQ pour une efficacité maximale.

Bonjour,

Je ne suis pas expert en excel. J'apprends doucement. Auriez vous une piste pour apprendre ceci ?
Je ne vois pas comment faire et je suis preneur pour faire des améliorations.

Sur mon fichier je dois chercher le CODE d'une personne par rapport a son nom.
Sur l'autre fichier il y a ces information. genre u:\\chemin\chemin\planning-1-2024.xls et change tout les 6 mois avec u:\\chemin\chemin\planning-2-2024.xls

etc

Cordialement

Rechercher des sujets similaires à "adresse fichier externe"