Problème fonction RECHERCHEV

jumpy89460

XLDnaute Nouveau
Bonjour à tous !

Voilà, j'ai un soucis avec la fonction RECHERCHEV :

J'ai joint une image qui permettra de mieux comprendre.

Dans la feuille 1, en B371 j'ai la formule suivante :=RECHERCHEV(A371;TDC3!A:C;3) que j'ai ensuite tiré vers le bas (et le haut).
Seulement, la valeur que je souhaite récupérée est décalée.

Connaissez vous ce problème?

Cordialement
 

Pièces jointes

  • Sans titre.jpg
    Sans titre.jpg
    31.6 KB · Affichages: 114
  • Sans titre.jpg
    Sans titre.jpg
    31.6 KB · Affichages: 103
  • Sans titre.jpg
    Sans titre.jpg
    31.6 KB · Affichages: 101

pascal21

XLDnaute Barbatruc
Re : Problème fonction RECHERCHEV

bonjour
une capture d'écran même lisible (ce n'est même pas le cas ici) ne permet pas de tester
refait un classeur avec quelques données bidons et explique ce qui ne va pas
*une première piste
=RECHERCHEV(A371;TDC3!A:C;3)

moi je l'aurais écris comme ça
=recherchev(A371;TDC3!$A$1:$C$65000;3;0)
 
Dernière édition:

Excel-lent

XLDnaute Barbatruc
Re : Problème fonction RECHERCHEV

Bonjour Jumpy89460, le fil,

Tu n'es plus un petit nouveau! Tu devrais savoir, comme déjà dit ci-dessus qu'une capture écran c'est vraiment pas pratique et très déconseillé. Heureusement pour toi, sur ce coup, ça peut aller pour se faire une idée. Par contre pour tester notre solution sur ton fichier, c'est déjà beaucoup plus dur. Mais là encore heureusement pour toi il n'y a pas besoin!

Comme Pascal21, pour ma part je préfère délimiter mon tableau en hauteur (même si cela oblige à être prudent lors d'insertion de lignes dans la zone de recherche) car cela demande moins de ressource à Excel, lui permettant ainsi d'être plus rapide.

Mais sur le principe, ta formule est juste quand même :
=RECHERCHEV(A371;TDC3!A:C;3)

C'est juste qu'elle est incomplète dans ton cas de figure.

Beaucoup de gens font comme toi :
RECHERCHEV(valeur_cherchée, table_matrice, no_index_col)

Mais il faut savoir que dans cette configuration, cette fonction ne fonctionne QUE si ta "table_matrice" (appelé aussi "base de donnée") est triés dans l'ordre croissant!

C'est pourquoi il est conseillé d'écrire la fonction RECHERCHEV() dans son intégralité à chaque fois, c'est à dire de la façon suivante :
RECHERCHEV(valeur_cherchée, table_matrice, no_index_col, [valeur_proche])

ainsi tu n'as pas besoin de te soucier de savoir si ta base de donnée est trié ou non.

Bref, dans ton cas de figure, la bonne façon d'écrire ta fonction (sans avoir besoin de trier tes données) est :
=RECHERCHEV(A371;TDC3!A:C;3;FAUX)

Et là, tu verras, tu peux "copier/coller" ta fonction vers le haut ou le bas, elle fonctionne.

Pour plus d'explication sur la partie "[valeur_proche]", n'hésite pas à utiliser l'aide d'excel (touche "F1" - mot clés : "recherchev") c'est très bien expliqué ;)

Bonne journée
Cordialement
 

pascal21

XLDnaute Barbatruc
Re : Problème fonction RECHERCHEV

bonjour exel-lent
pour ce qui est de la zone "table de la matrice" j'ignorais que l'on pouvais écrire comme ça sans passer par des $
par contre j'avais mis 0 à la place de FAUX ce qui est pareil (je mets 0 c'est plus rapide à écrire)
Mais il faut savoir que dans cette configuration, cette fonction ne fonctionne QUE si ta "table_matrice" (appelé aussi "base de donnée") est triés dans l'ordre croissant!
ne faut-il pas dans ce cas indiquer '1' ou vrai ?
 
Dernière édition:

Excel-lent

XLDnaute Barbatruc
Re : Problème fonction RECHERCHEV

Salut Pascal21,

En effet, "0" ou "FAUX" c'est pareil, mais je trouve que "FAUX" c'est plus facile à retenir. Moyen mémo technique pour retenir ça :
"ma base de donnée est classé?" -> non c'est faux, alors je rajoute "FAUX" à la fin :)

Quoique, généralement je ne me casse pas la tête, je le met systématiquement :D

Je t'avouerais que pour l'histoire du "TDC3!A:C" avec ou sans "$", moi aussi j'avais léger doute. C'est pourquoi j'ai testé cela avant de répondre, sur un petit fichier fait maison... puisque notre ami n'a pas voulu nous le fournir :D

Au plaisir de te recroiser à nouveau sur un fil
A+
 

jumpy89460

XLDnaute Nouveau
Re : Problème fonction RECHERCHEV

Tout d'abord merci pour toute ces réponses.
Alors j'ai refait un fichier en prenant moins de données, et en faisant la meme demarche, je trouve le bon résultat cette fois...
Je vous enverrais bien le fichier original mais il est lourd (42Mo)
Je vais de ce pas essayer votre solution, je vous tient au courant.

Merci beaucoup !!
 

jumpy89460

XLDnaute Nouveau
Re : Problème fonction RECHERCHEV

Ba non, le fichier est stocké sur un serveur, il tourne niquel.
J'ai tenté de refaire un fichier exemple mais il reste trop gros (4 Mo )
J'ai remarqué également une chose : lorsque je n'ai pas beaucoup de données, la fonction recherchev fonctionne très bien. Mais lorsque j'ai toutes mes données, elle ne marche pas.
 

jumpy89460

XLDnaute Nouveau
Re : Problème fonction RECHERCHEV

Je viens de comprendre.
Par contre je suis désolé, je ne peux pas vous envoyer le fichier, donc je vais tenter de me faire comprendre...
En fait j'ai un TCD avec 3 colonnes :
Outils Pieces CA

Dans un outil il y a plusieurs pieces avec le CA de chaque piece.
Donc grace au TCD, je trouve le CA de chaque outil en faisant la somme des CA de chaque pièces.
Ensuite, dans une autre feuille, en colonne A j'ai la liste de tous mes outils et en colonne B le CA de chacuns des outils (je pense que c'est important : tous les outils n'ont pas forcément un CA, voire ils n'apparaissent pas dans le TCD).
Pour expliquer ce qui ce passe, je vais prendre un exemple (celui de l'image que j'avais joint lors de mon premier message):
Outil : K76700
CA : 7122
Lorsque je fais ma recherchev, en face de K76700 ça me met 0
Les outils qui suivent ont la valeur de 7122 en face, jusqu'à l'outil suivant qui apparait dans le TCD qui lui porte la valeur 7122
L'outil qui le suit, porte la valeur du TCD de l'outil précédent...

Je ne sais pas si je me suis fait comprendre, mais mon problème est double :
Le CA que je cherche est décalé d'une ligne et tous les outils suivants portent la même valeur jusqu'à ce que je retombe sur un outil qui apparait dans le TCD.
 

pascal21

XLDnaute Barbatruc
Re : Problème fonction RECHERCHEV

perso j'ai pu constaté que recherchev est parfois capricieuse dans les bd un peu lourdes (temps d'execution erreur)
ici à la rubrique [h=3]Fonction personnalisée Rechv()tu trouveras une solution de recherchev en VBA[/h]je ne sais pas si ça pourras aider
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz