Recherche V dont table matrice change

Keusti_001 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Contributeur Dernière intervention   6 438
 
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   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   6 438 > Keusti_001 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   > Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention  
 
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 58988 Date d'inscription   Statut Contributeur Dernière intervention   17 353
 
@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   Statut Membre Dernière intervention  
 
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 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
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