RechercheV dynamique avec fonction DECALER

Résolu/Fermé
Le_Ctrl-de-Gestion Messages postés 10 Date d'inscription dimanche 27 mai 2018 Statut Membre Dernière intervention 30 mai 2018 - 28 mai 2018 à 12:27
Le_Ctrl-de-Gestion Messages postés 10 Date d'inscription dimanche 27 mai 2018 Statut Membre Dernière intervention 30 mai 2018 - 30 mai 2018 à 08:26
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

5 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié le 28 mai 2018 à 12:50
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 Date d'inscription dimanche 27 mai 2018 Statut Membre Dernière intervention 30 mai 2018
28 mai 2018 à 14:18
$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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
28 mai 2018 à 14:25
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 Date d'inscription dimanche 27 mai 2018 Statut Membre Dernière intervention 30 mai 2018
28 mai 2018 à 14:34
Bonjour,

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

https://mon-partage.fr/f/NHBIvSV8/
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 210
Modifié le 28 mai 2018 à 18:47
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
28 mai 2018 à 19:50
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
28 mai 2018 à 19:53
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 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
28 mai 2018 à 19:55
Je passe juste en aparté... 3000 lignes pour une fonction RECHERCHEV c'est assez dérisoire
Bonne soirée
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 210
Modifié le 29 mai 2018 à 00:14
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 Date d'inscription dimanche 27 mai 2018 Statut Membre Dernière intervention 30 mai 2018
29 mai 2018 à 07:49
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 Date d'inscription dimanche 27 mai 2018 Statut Membre Dernière intervention 30 mai 2018
29 mai 2018 à 08:04
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