[Résolu] Fonction RechercheV affiche #N/D

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
djool
Fraîchement OOthentifié
Messages : 2
Inscription : 05 nov. 2010 16:45

[Résolu] Fonction RechercheV affiche #N/D

Message par djool »

Bonjour tout le monde!

J'ai un petit souci avec la fonction recherchev, et après plusieurs recherches dans l'aide et sur internet, impossible de trouver une solution...
J'ai créé un tableau de chèques pour tester justement cette fonction (voir en pièce jointe).
tp_cheques_2.ods
Je voulais utiliser la fonction recherchev pour 2 choses:
1. L'utilisateur rentre le numéro de chèque et le tableur lui renvoie la désignation, le montant, et s'il a été débité (ligne 22). => Ça marche.
2. L'utilisateur choisit la désignation parmi une liste déroulante (créée via Données > Validités) et le tableur lui renvoie le numéro de chèque, le montant et s'il a été débité (ligne 27). => Ça ne marche pas!

J'obtiens le fameux NA (enfin #N/D pour être précis :) )...Je bloque là-dessus depuis pas mal de temps, au départ je pensais qu'il s'agissait d'un problème de format de cellule, mais apparemment le problème ne vient pas de là...

Pouvez-vous me donner un petit coup de main s'il vous plaît? :D
Bon week-end!
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par djool le 06 nov. 2010 15:36, modifié 1 fois.
Ubuntu 10.4
OpenOffice 3.2.0
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2791
Inscription : 16 avr. 2010 13:31

Re: Fonction Recherchev qui me pose problème

Message par OOotremer971 »

Bonsoir,

c'est normal :)

la fonction RECHERCHEV() recherche dans la première colonne de la matrice, or tu cherches la désignation, qui elle se trouve dans la deuxième colonne de cette matrice.

Il faut donc modifier les référence pour que la colonne désignation devienne la première colonne d'une matrice. Autre précision : la recherche ne peut s'effectuer vers les cellules adjacentes que vers la droite
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian GNU/Linux 12 (bookworm)
Avatar de l’utilisateur
gerard24
ManitOOu
ManitOOu
Messages : 3160
Inscription : 06 juil. 2008 17:08
Localisation : dans le Périgord

Re: Fonction Recherchev qui me pose problème

Message par gerard24 »

Bonsoir,

La recherche s'effectue dans la première colonne de la matrice de recherche et la fonction RECHERCHEV ne permet pas de renvoyer une valeur située à gauche de la colonne de recherche.
Avec INDEX et EQUIV :

Code : Tout sélectionner

=INDEX(cheques;EQUIV($B27;$B$4:$B$14;0);1)
A+
OOodidacte
LibreOffice 6.4.5 sous Windows 10.
pour télécharger LibreOffice
jjk
HédOOniste
HédOOniste
Messages : 1696
Inscription : 27 oct. 2008 14:30

Re: Fonction Recherchev qui me pose problème

Message par jjk »

Bonsoir

Sinon tu peux aussi mettre en A27 :

Code : Tout sélectionner

=RECHERCHE(B27;INDEX(cheques;;2);INDEX(cheques;;1))
La fonction RECHERCHE permet de rechercher le correspondant dans un vecteur parallèle au vecteur de recherche, à gauche ou à droite, mais il faut que les vecteurs soient triés par ordre croissant sur le vecteur de recherche (ici sur la colonne B).
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 3.1.1 sous XP-SP2 et LibreOffice 3.5.0 sous Win 7
djool
Fraîchement OOthentifié
Messages : 2
Inscription : 05 nov. 2010 16:45

Re: Fonction Recherchev qui me pose problème

Message par djool »

Merci pour vos réponses!

Je ne connaissais pas ces deux conditions d'utilisation de la fonction recherchev (et j'imagine que c'est la même chose pour rechercheh).
Merci pour vos propositions de solution
Ubuntu 10.4
OpenOffice 3.2.0
jjk
HédOOniste
HédOOniste
Messages : 1696
Inscription : 27 oct. 2008 14:30

Re: [Résolu] Fonction Recherchev qui me pose problème

Message par jjk »

Bonsoir
djool a écrit :Je ne connaissais pas ces deux conditions d'utilisation de la fonction recherchev
Et pourtant
l'aide de Calc sur RECHERCHEV a écrit :Cette fonction vérifie si une valeur spécifique est contenue dans la première colonne d'une matrice. La fonction renvoie alors la valeur dans la même ligne de la colonne nommée par Index. Si le paramètre ordre_de_tri est omis ou paramétré sur VRAI ou un, on assume que les données sont triées en ordre croissant. Dans ce cas, si le critère_de_recherche exact n'est pas trouvé, la dernière valeur qui est inférieure au critère est renvoyée. Si ordre_de_tri est paramétré sur FAUX ou zéro, une correspondance exacte doit être trouvée, sinon il en résulte l'erreur Erreur: valeur non disponible. Ainsi, avec une valeur de zéro, les données n'ont pas besoin d'être triées dans l'ordre croissant.
En fait l'aide intégrée est pleine de renseignements. Mais il est vrai que dans ce cas, seul le mot "première" permet de comprendre que la valeur renvoyée est dans une colonne forcément située à droite de la colonne de recherche.

Dans le cas où le vecteur de recherche n'est pas le premier de la matrice, on peut utiliser soit INDEX(EQUIV(...)) comme l'a indiqué Gérard (il faut donc bien connaître les fonctions INDEX et EQUIV), soit RECHERCHE (sans V ni H) à condition que la vecteur de recherche soit trié par ordre croissant.
OpenOffice 3.1.1 sous XP-SP2 et LibreOffice 3.5.0 sous Win 7