RechercheV dynamique avec fonction DECALER

Résolu
Le_Ctrl-de-Gestion Messages postés 10 Statut Membre -  
Le_Ctrl-de-Gestion Messages postés 10 Statut Membre -
Bonjour,

Je voulais savoir s'il était possible de dynamiser la "table_matrice" de la RECHERCHEV avec la fonction DECALER dans une source externe.

Ma matrice à vocation à grandir ou se réduire avec le temps, j'utilise donc la fonction DECALER réccupérant le nombre de ligne du tableau en question

Le problème que je rencontre est le suivant :

Je recherche des données dans une source externe fermée et mes formules ne fonctionnent que si la fichier source est ouvert même si je mets à jour les liens.

Sinon la RECHERCHEV ne fonctionne pas, personnellement j'ai elucidé beaucoup de pistes, mes recherchesV fonctionnent avec la source fermée si et seulement si je n'utilise pas la fonction DECALER

Y'a t-il une limite à la fonction DECALER sur les liens externes ?
Y'a t-il une faute dans mes formules ? (étonnant car elles fonctionnent si la source est ouverte)


Je me questionne également sur ce que renvoie la fonctione DECALER car j'ai souvent l'erreur #VALEUR, est-elle compatible avec la matrice nécessaire à la RECHERCHEV ?

Voici la formule la plus simple que j'utilise >

SI($A8="";"";RECHERCHEV($A8;DECALER([Macro_Revers_Beta.xlsm]Commande!$A$2;;;[Macro_Revers_Beta.xlsm]Commande!$L$2;8);4;FAUX))

Et une autre >

SI($A8="";"";RECHERCHEV($A8;DECALER('S:\BE\Admin\Reversements BE\2018\Alpha - Macro reversement (en cours)\Macro\[Macro_Revers_Beta.xlsm]Commande'!$A$2;;;'S:\BE\Admin\Reversements BE\2018\Alpha - Macro reversement (en cours)\Macro\[Macro_Revers_Beta.xlsm]Commande'!$L$2;8);3;FAUX))

Merci d'avance pour votre aide
A voir également:

5 réponses

Vaucluse Messages postés 27336 Statut Contributeur 6 441
 
Bonjour
  • qu'avez vous dans le $L$2 du code DECALER?
  • est ce que la recherche fonctionne comme vous l'entendez si vous remplacez l'adresse complète de L2 par un nombre de lignes figé

crdlmnt

0
Le_Ctrl-de-Gestion Messages postés 10 Statut Membre
 
$L$2 fait référence au nombre de ligne du tableau source, pour connaitre sa longueur. (Je détermine le nombre de lignes par le fonction NBVAL et je réccupère donc ce nombre dans le formule de RECHERCHEV)

Il se passe la même chose : Si le fichier source n'est pas ouvert cela renvoie #VALEUR si le fichier source est ouvert cela fonctionne
0
michel_m Messages postés 18903 Statut Contributeur 3 317
 
bonjour le ctrl, Vaucluse

pourrait on voir le classeur source ?

pour cela
Mettre le classeur sans données confidentielles en pièce jointe sur 
https://mon-partage.fr/
Puis faire un clic « copier le raccourci » et lecoller dans votre message



0
Le_Ctrl-de-Gestion Messages postés 10 Statut Membre
 
Bonjour,

Je vous l'envoie ce soir, l'accès au site m'est refusé au travail
0
Le_Ctrl-de-Gestion
 
Le fichier source est disponible via le lien suivant :

https://mon-partage.fr/f/NHBIvSV8/
0
eriiic Messages postés 25847 Statut Contributeur 7 279
 
Bonjour,

pour répondre à ta question, oui Decaler(), tout comme Indirect(), ne fonctionnent pas sur classeur fermé.

Mais tu as une idée du nombre max de lignes ? Si ce n'est pas des centaines de milliers tu peux tenter en mettant le max. recherchev() est bien optimisé, ça ne ralentira peut être pas trop.
eric

0
Le_Ctrl-de-Gestion
 
Merci pour l'info, au moins je suis fixé !

Et bien j'ai 3 tableaux, 1 de 30 lignes environ, 1 autre d'environ 2 000 et l'autre de 3 000 lignes encore
Ça fait pas un peu beaucoup ? :)
0
Le_Ctrl-de-Gestion
 
Ai-je une dernière solution en faisant référence avec des Tableau (table) dans le fichier source, comme ça elles seront dynamiques donc pas besoin d'utiliser de Decaler() ou Indirect()

En espérant que ça fonctionne même avec un fichier fermé
Merci d'avance
0
Vaucluse Messages postés 27336 Statut Contributeur 6 441
 
Je passe juste en aparté... 3000 lignes pour une fonction RECHERCHEV c'est assez dérisoire
Bonne soirée
0
eriiic Messages postés 25847 Statut Contributeur 7 279
 
Tableau (table) dans le fichier source, comme ça elles seront dynamiques
Excellente idée que je regrette de n'avoir pas eue ;-)
Tiens nous au courant

Comme dit vaucluse, une recherche sur 3000 ligne pas si énorme.
Mais tout dépend combien de fois tu le fais. Si c'est 30000 ça risque de se sentir. Teste...
0
Le_Ctrl-de-Gestion Messages postés 10 Statut Membre
 
Pour info, avec une "Table" ça ne fonctionne pas non plus, si la source est fermée ça ne fonctionne pas :/

Et bien il y a 1 recherche par ligne saisie (et en moyenne 20 le sont) ce qui fait grosse maille : 3 000 * 20 = 90 000 lignes.

Je teste au plus vite !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le_Ctrl-de-Gestion Messages postés 10 Statut Membre
 
Après plusieurs tests si je mets en dur ma table_matrice de la recherche ça rame un peu si je commence à mettre beaucoup de ligne mais c'est correct.

Mais j'ai trouvé une solution pour avoir le nombre de lignes exact à chaque fois dans mes sources et ne pas rechercher du vide >

J'imbrique dans la table_matrice le résultat d'un NBVAL() qui compte le nombre de lignes

Merci de votre aide, je clôt le sujet
0