RechercheV : Plage dans une cellule nommée

Fermé
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 - 9 juin 2016 à 11:57
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 - 16 juin 2016 à 13:25
Bonjour,

je travaille sur un fichier qui récupère en grande partie ses données grâce à des recherches V.
Mon problème réside dans le fait que la plage source des données est changeante ( le nom du classeur source peut être modifié)

Je souhaitais donc mettre le chemin et la plage du classeur source dans une cellule nommée,

de manière à modifier uniquement une cellule.

Malheureusement ça ne fonctionne pas

Auriez vous une explication ?

Par avance merci

2 réponses

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
10 juin 2016 à 20:11
Bonjour,

Pour faire ce que tu souhaites, je te conseilles d'utiliser la fonction indirect.


Pour cela voici ce que tu fais :
tu mets par eexemple l'adresse de ton fichier dans une cellule, tu mets dans une autre ta cellule de début et dans une 3 ème ta cellule de fin

et tu mets ta formule recherchev (attention mon excel est an anglais) :
=VLOOKUP(A1,INDIRECT("["&H5&"]Sheet1!"&I5&":"&J5,TRUE),2,FALSE)

voici un exemple :
https://www.cjoint.com/c/FFkslDSL2s0
0
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 1
13 juin 2016 à 09:54
Bonjour Melanie1324,

Merci de ta réponse, malheureusement je ne parviens pas à la mettre en œuvre.

Dans mon Classeur, j'ai un onglet "Mois" dans lequel j'ai indiqué les élément de la fonction indirect:

Nom du fichier avec le chemin en I25 :

D:\DFC\CDK\BBB\2016\Frais Pers\[Classeur 1.xlsm]3.9 onglet

Puis en I26

B5

Puis en I27

IU590

Le classeur comporte une trentaine d onglets sur le même format.
Ça va rechercher ( Recherche V ) des données dans un classeur rafraichit par un outil de l entreprise.

Le problème c'est que l'outil d entreprise est très instable et donc nous sommes obligés de modifier le fichier source, donc remplacer les liens dans le cible (Cela provoque des erreur)

C'est pourquoi j'aimerais tout réunir sur un onglet de paramétrage des liens.

Je pense avoir compris la méthode indirecte mais j'ai un message d'erreur REF.

Merci de ton aide
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
13 juin 2016 à 10:22
Bonjour,

Si le classeur dans lequel tu effectues la recherche est ouvert, tu n'as pas besoin de préciser le chemin et tu peux alors utiliser la fonction INDIRECT.

Par contre, si le classeur est fermé, tu ne peux pas utiliser la fonction INDIRECT. Il faut alors regarder du coté de INDIRECT.EXT

A+
0
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 1
13 juin 2016 à 10:31
Bonjour

merci de l'info, je regarde et je vous tiens au courant
0
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 1
13 juin 2016 à 10:45
Je viens d'essayer

j'ai une erreur nom
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523 > CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023
13 juin 2016 à 11:31
Qu'as-tu essayé au juste ?

A+
0
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 1 > Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016
13 juin 2016 à 11:57
Bonjour

j'ai essayé ça :

RECHERCHEV(C9;INDIRECT.EXT("["&H2&"]Direction!"&H3&":"&H4;VRAI);2;FAUX)

En H2

'E:\DF\CD\BF\2016\Frais\[Classeur.xlsm]3.6 Det yc trans!

En H3

B5

En H4
IU590

Cdt
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523 > CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023
13 juin 2016 à 17:45
Si je t'ai bien compris, tu souhaites utiliser FONCTION PERSONNELLE qui permette une RECHERCHEV dans un fichier FERME et incluant une fonction INDIRECT.

Tu peux tester cette méthode développée par SilkyRoad
https://excel.developpez.com/faq/?page=Recherche#RechercheWbFermeIndir
(pour info, je ne suis pas parvenu à la mettre en oeuvre avec Excel 2013).

Sinon, tu peux utiliser une macro qui va placer la formule de recherche en A1 avec les paramètres ci-dessous :
Valeur cherchée en H1 : $C$9
Chemin en H2 : E:\DF\CD\BF\2016\Frais\
Classeur en H3 : Classeur1.xlsx
Feuille en H4 : Direction
Plage en H5 : $D$9:$E$16
Sub RECHERCHER()
Dim ValeurCherchée As String, Chemin As String, Classeur As String, Feuille As String
Dim Plage As String, Formule As String, V As String
ValeurCherchée = Range("H1").Value
Chemin = Range("H2").Value
Classeur = Range("H3").Value
Feuille = Range("H4").Value
Plage = Range("H5").Value
ActiveSheet.Range("A1").ClearContents
ActiveSheet.Range("A1").Formula = "=VLOOKUP(" & ValeurCherchée & ",'" & Chemin & "[" & Classeur & "]" & Feuille & "'!" & Plage & ",2,FALSE)"
End Sub


A+
0