Recherche V dont table matrice change

Fermé
Keusti_001 Messages postés 29 Date d'inscription mercredi 15 mai 2019 Statut Membre Dernière intervention 7 février 2023 - 17 août 2021 à 15:01
tontong Messages postés 2567 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 20 novembre 2024 - 21 sept. 2021 à 16:14
Bonjour à tous,

J'ai un peu cherché, mais ne trouve pas de réponse, je poste donc ici :).

Je tente d'expliquer ceci au mieux, mais c'est très abstrait. N'hésitez pas si vous avez de

Tous les jours, nous recevons un fichier de stock que nous analysons et enregistrons sous le nom "210816 état stock appro.xlsx". (Forcément, en adaptant la date du jour ;-).
Je souhaite automatiser cette analyse, mais je cale sur une RechercheV qui irait chercher l'info dans le fichier du jour précédent.

Pour l'instant, elle s'écrit simplement comment suit :
=RECHERCHEV(AE2;'Chemin[Nom fichier J-1]ONGLET'!N:X;11;FAUX)

Vu que les fichiers ont des noms intégrant les dates, y a-t-il y moyen d'aller chercher automatiquement [Nom Fichier J-1] sans devoir le ré-écrire chaque jour?

J'ai réussi a ré-écrire la RechercheV qui ferait cela via l'utilisation de "AUJOURDHUI" et "CONCATENER" , mais donc en format Texte, et je n'arrive pas à le faire appliquer.

En gros :
Valeur_cherchée : AE2
Table_Matrice : Définie selon date
No_Index_Colonne : 11
Valeur_Proche : FAUX

Y a-t-il moyen d'écrire l'information de la table matrice dans une autre cellule (par ex. : C5) pour que la Recherche V utilise le résultat de la cellule C5 dans le champ "Table_Matrice" au lieu d'utiliser "C5" comme Table_Matrice?

La 2e étape du problème consiste à faire en sorte que, les lundis, la formule aille chercher la date du vendredi...mais chaque chose en son temps.

Un grand merci pour votre aide ! :)

KEUSTI

3 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
Modifié le 17 août 2021 à 16:24
Bonjour
Sans connaître exactement les libellés à inclure, pour le principe, si vous inscrivez l'adresse dans une cellule par exemple C5 en la composant avec une concaténation:
soit:
"'nom fixe"&TEXTE(AUJOURDHUI()-1;"jj-mm-aaaa")&"ONGLET'!NX"
et donc dans la formule utilisez l'adresse avec:
=RECHERCHEV(AE2;INDIRECT($C$5);11;0)
  • il faut bien sur que C5 représente en texte l'adresse exacte à inclure dans la formule, tous signes complémentaires inclus
  • il faut aussi que la partie TEXTE affiche le texte selon la configuration de la date dans le nom du fichier à traiter


Mais vous pouvez aussi utiliser la concaténation de cette adresse directement dans la formule de recherche en l'incluant dans le code INDIRECT

une fois ceci validé, on s'attaquera à la suite par exemple pour la partie texte avec:
TEXTE(AUJOURDHUI()-SI(JOURSEM(AUJOURDHUI();2)=1;A3;1);"jj-mm-aaa")
rêvez si ça ne convient pas, en donnant exactement les détails de vos libellés

crdlmnt

1
Keusti_001 Messages postés 29 Date d'inscription mercredi 15 mai 2019 Statut Membre Dernière intervention 7 février 2023
18 août 2021 à 13:32
Bonjour Vaucluse,

Un grand merci pour ta réponse ! Par concaténation, j'ai réussi à créer la bonne chaine de caractère.
La fonction indirecte fonctionne donc, mais à condition que le fichier soit ouvert.

Existe-t-il un alternative permettant de fonctionner sans avoir à ouvrir le fichier?

J'ai notamment pensé à une macro "rechercher/remplacer" dans la RechercheV, pour remplacer la date de J-2 par celle de J-1 ?
Par exemple, via formule, je ferais ressortir :
En D1 : la date du jours -1 jours ouvré
En D2 : la date du jours -2 jours ouvrés.
Puis, la macro irait, dans la RechercheV, chercher le résultat de D2 et le remplacer par le résultat de D1?

Bàt,

Keusti
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416 > Keusti_001 Messages postés 29 Date d'inscription mercredi 15 mai 2019 Statut Membre Dernière intervention 7 février 2023
18 août 2021 à 18:58
Bonjour
je regrette, ce n'est pas dans mes compétences.. Mais c'est probablement possible. Il serait préférable d'ouvrir un nouveau fil pour traiter le sujet
Bonne chance et bonne route
crdlmnt
0
Keusti_001 Messages postés 29 Date d'inscription mercredi 15 mai 2019 Statut Membre Dernière intervention 7 février 2023 > Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022
19 août 2021 à 09:42
Pas de souci ! :)
Merci quand même pour l'astuce de la fonction INDIRECTE. Ca me servira surement aussi :).
0
Raymond PENTIER Messages postés 58731 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 novembre 2024 17 244
18 août 2021 à 02:05
@Vaucluse - "rêvez" ou "revenez", n'est-ce pas cher ami ?

@KEUSTI - à toutes fins utiles, pour transformer le résultat TEXTE d'une formule en format NOMBRE, il suffit :
° de faire précéder la formule par la fonction CNUM
=CNUM(formule)

° de multiplier la formule par 1
=formule*1

1
Keusti_001 Messages postés 29 Date d'inscription mercredi 15 mai 2019 Statut Membre Dernière intervention 7 février 2023
21 sept. 2021 à 15:03
Bonjour Raymond,

Merci pour l'astuce :).
Malheureusement, ça ne m'est pas encore utile à ce stade.

Sais-tu comment aller adapter la table de matrice d'une Recherche V sans utiliser de fonction indirecte? Ceci afin de pouvoir aller chercher la réponse de la RechercheV dans un autre fichier dont le nom serait indiqué quelque part dans le fichier actuel?
0
tontong Messages postés 2567 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 20 novembre 2024 1 059
21 sept. 2021 à 16:14
Bonjour,
En effet Indirect() ne fonctionne que si le classeur est ouvert. Vous pourrez peut-être avancer avec cette page:
https://excel.developpez.com/faq/?page=Recherche#RecherchevClasseurFerme
0