Fonction "RECHERCHE"

  • Initiateur de la discussion Michel Borduas
  • Date de début
M

Michel Borduas

Guest
Bonjour à tous!

Je suis encore débutant... bref! Voici ma question:

Une des cases d'une feuille d'un classeur fait une recherche d'item dans une autre feuille nommée "Base de données" et voici la syntaxe de la formule que j'utilise:

=SI(A13<>"";RECHERCHE(A13;'Base de données'!A1:A2660;'Base de données'!B1:B2660);"")

où (A13) est le numéro de stock d'un article recherché et où ('Base de données'!B1:B2660) est la description de ce même article.

Pour le moment, tous les numéros d'articles en inventaire commencent par un "E" et tout fonctionne bien. Toutefois...

Si, par erreur, j'entre un mauvais numéro, soit qu'on me retourne le message #N/A, soit qu'on me retourne la description du dernier item de la liste de la Base de données. Or, je voudrais (dans l'éventualité d'une mauvaise entrée) qu'on me retourne le message "Article introuvable!"

Comment puis-je y arriver... j'ai tout essayé, sans succès.
Merci à tous!
 
M

Monique

Guest
Bonjour,

=SI(A13="";"";SI(ESTNA(RECHERCHE(A13;'Base de données'!A1:A2660;'Base de données'!B1:B2660));"Article introuvable";RECHERCHE(A13;'Base de données'!A1:A2660;'Base de données'!B1:B2660)))

En donnant le nom ColA à la plage A1:A2660 et ColB à la plage B1:B2660, ça donnerait :
=SI(A13="";"";SI(ESTNA(RECHERCHE(A13;ColA;ColB));"Article introuvable";RECHERCHE(A13;ColA;ColB)))
 
M

Michel Borduas

Guest
Rebonjour à tous et à Monique,

Monique... j'ai répondu rapidement, mais la solution proposée ne fonctionne qu'en partie.

En effet, le message "Article introuvable" m'est retourné pour tous les codes de stock débutant par les lettres A, B, C et D, c'est-à-dire les numéros d'articles précédant ma liste de stock (dont tous les numéros commencent par la lettre E).

Mais si je demande un numéro d'article commençant par une lettre suivant le E, la description du DERNIER article de la liste en "Base de données" m'est retourné, peu importe la lettre du début (c'est-à-dire de F à Z).

Le code proposé était:
=SI(A13="";"";SI(ESTNA(RECHERCHE(A13;'Base de données'!A1:A2660;'Base de données'!B1:B2660));"Article introuvable";RECHERCHE(A13;'Base de données'!A1:A2660;'Base de données'!B1:B2660)))

Une solution?
Merci à tous,
Michel.
 
J

Jean-Marie

Guest
Bonjour

Autre astuce, place dans ton tableau "base de donnees" une ligne reprennant la reference de ta cellule A13, et place dans la cellule de cette ligne ton texte "Article introuvable".

Cequi donnerait suivant ton exemple a la ligne :
- 'Base de données'!A2661 la formule =Feuil1!A13
- 'Base de données'!B2661 le texte : Article introuvable.

et pour finir ta formule
=SI(A13<>"";RECHERCHE(A13;'Base de données'!A1:A2661;'Base de données'!B1:B2661);"")

Les fonctions de RECHERCHE, EQUIV non pas de probleme de calcul circulaire.

@+Jean-Marie
 
M

Michel Borduas

Guest
Re: Fonction

Bonjour Jean-Marie,

Je ne comprends pas très bien ce que tu proposes... disons à moitié, car je débute. Je prends donc la liberté de t'envoyer mon fichier en pièce-jointe. Pour le moment, la Base de données ne contient que peu d'articles, mais elle en contiendra plusieurs milliers sous peu...

Merci de me répondre!
Michel.
 
M

Monique

Guest
Re,

C'est Recherche qui ne va pas

En donnant des noms :
=SI(A13="";"";SI(ESTNA(INDEX(A13;ColA;0));"Article introuvable";RECHERCHEV(A13;Table;2;0)))
=SI(A13="";"";SI(ESTNA(EQUIV(A13;ColA;0));"Article introuvable";INDEX(ColB;EQUIV(A13;ColA;0))))

ColA ='Base de données'!$A$1:$A$2660
ColB ='Base de données'!$B$1:$B$2660
Table ='Base de données'!$A$1:$B$2660

Intérêt de Index Equiv :
la recherche ne se fait pas forcément de gauche à droite,
pas besoin de compter le nb de colonnes,
on peut insérer des colonnes,
bref, rien que des avantages.

Pour donner un nom à des cellules,
sélectionner les cellules puis :
barre de menu - Insertion - Nom
et dans la zone "Noms dans le classeur", taper le nom choisi.
Ou bien :
sélectionner les cellules et taper le nom dans la zone nom, à gauche de la barre de formule.
 
J

Jean-Marie

Guest
Bonjour

Ce n'est pas une bonne solution d'envoyer dans la bal des fichiers, surtout que la personne est loin de chez elle, ce qui est mon cas.

Regarde le fichier joint.

@+Jean-Marie
 

Pièces jointes

  • Michel.zip
    1.8 KB · Affichages: 24
  • Michel.zip
    1.8 KB · Affichages: 28
  • Michel.zip
    1.8 KB · Affichages: 27
M

Michel Borduas

Guest
D'abord, je m'excuse pour l'expédition de mon fichier, mais comme l'option "Pièce-jointe" était là, j'ai crû bon m'en servir... Merci pour l'exemple très clair que tu as eu la gentillesse de m'expédier. Il est clair et concis. Maintenant, je connais mieux cette fonction INDEX. Il ne me reste plus qu'a modifier mes feuilles.

Merci!
Michel.
 

Statistiques des forums

Discussions
312 237
Messages
2 086 486
Membres
103 232
dernier inscrit
logan035