recherchev dans un fichier externe

marieo

XLDnaute Nouveau
Bonjour à tous,

Je cherche à écrire une formule recherchev() dans laquelle la table matrice est dans un autre fichier .xls (*_fichier.xls):

cellule A1 : 2005
cellule A2 : 2006
cellule A3 : =recherchev('xx';2005_fichier.xls!$A$1:$B$5;2;faux)
cellule A4 : =recherchev('xx';2006_fichier.xls!$A$1:$B$5;2;faux)

Ce que j'aimerais faire, c'est utiliser les valeurs des cellules A1 et A2 pour définir mon nom de fichier externe. Ainsi, si je change 2005 en 2007 (par exemple), mon fichier externe (formule de la ligne3) sera 2007_fichier.xls sans que je doive réécrire les formules des cellules.

Merci de toutes les bonnes idées que vous pourrez me transmettre
Marieo
 

SylvainL

XLDnaute Nouveau
Re : recherchev dans un fichier externe

Bonjour,

Je tente de résoudre ce problème depuis quelque temps. Lorsque j'écris cette formule :

=INDEX('\\Hrdc-drhc.net\qc\DASE\00_Province\LectEnv\Professions\Perspectives\PP2015-2017\cotes\cotes_après\[Val_2420.xlsm]GlobalRating'!$A$10:$AE$529;1;1)

elle me renvoie la valeur en A10. C'est ce que je désire. Par contre, j'ai 12 fichiers différents nommés Val_2410.xlsm, Val_2415.xlsm, etc. Un par région. J'aimerais, lorsque l'usager choisit une région dans le menu déroulant, que les données de la bonne région s'affichent. Disons que la valeur numérique de la région est dans la cellule Z99. Si j'écris la formule de cette façon :

INDEX(concatener("'\\Hrdc-drhc.net\qc\DASE\00_Province\LectEnv\Professions\Perspectives\PP2015-2017\cotes\cotes_après\[Val_";Z99;".xlsm]GlobalRating'!$A$10:$AE$529";1;1)

elle ne fonctionne pas, elle me renvoie #VALEUR

Est-ce que vous avez des solutions ?

Merci

Sylvain
 

SylvainL

XLDnaute Nouveau
Re : recherchev dans un fichier externe

J'ai adapté la macro "Private Sub Worksheet_Change(ByVal Target As Range)" pour qu'elle créée une matrice, que j'ai attribué au Nom "Roméo". J'ai ensuite été en mesure d'utiliser ce nom avec la formule INDEX (cellules E11 et E12).
Est-ce qu'il y a une manière plus élégante de faire cela ?

Le fichier modifié :
 

Pièces jointes

  • SylvainL_v2.xlsm
    143.7 KB · Affichages: 58
  • SylvainL_v2.xlsm
    143.7 KB · Affichages: 45

st007

XLDnaute Barbatruc
Re : recherchev dans un fichier externe

Si ta solution te convient et fonctionne, tant mieux...
Tout dépendra du nombre de cellules que tu veux récupérer.
Après une si grande plage pour extraire qu'une cellule ????
$A$10:$AE$529;1;1
juste A10
$A$10:$AE$529;1;2
juste B10
 

SylvainL

XLDnaute Nouveau
Re : recherchev dans un fichier externe

En fait, j'ai 520 professions (lignes) à extraire et plusieurs colonnes de données dans la matrice.
Mais avec cette formule, je vais probablement modifier certaines façons de faire dans le fichier.
Merci et bonne journée!
 

st007

XLDnaute Barbatruc
Re : recherchev dans un fichier externe

Et si tu y allais par formule comme la cellule orange, tu peux l'étirer ....

ou carrément revoir le code et aller chercher toute une plage, ou ouvrir le fichier en question le temps le temps de mettre à jour puis refermer
 

Pièces jointes

  • SylvainL_v2.xlsm
    141.4 KB · Affichages: 61
  • SylvainL_v2.xlsm
    141.4 KB · Affichages: 43

SylvainL

XLDnaute Nouveau
Re : recherchev dans un fichier externe

Merci!
Un petit truc que je n'ai jamais pensé utiliser Ligne() -x.
Je ne connaissais pas non plus la fonction Intersect.
Je n'avais jamais vu (ou exploré) que l'on pouvait aller mettre du VBA dans la section Microsoft Excel Objets.

Ma question fut très "payante" en termes de connaissance.
 

Discussions similaires

Statistiques des forums

Discussions
314 221
Messages
2 107 492
Membres
109 835
dernier inscrit
Marie Bénédicte