Fonction "RECHERCHE"

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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!
 
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)))
 
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.
 
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
 
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.
 
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.
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 recherche idée
Réponses
6
Affichages
668
Retour