Formule Excel RECHERCHV

Résolu/Fermé
Mistral_13200 Messages postés 610 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 11 décembre 2022 - 4 mars 2009 à 19:48
gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 5 mars 2009 à 09:55
Bonjour à tous,

Qui vas pouvoir m’aider ?

Sur une feuille Excel et sur 3 colonnes je vais rentrer des chiffres. Colonne « A » de 1 à 50, colonnes « B et C » de 1 à 9999. Sur ces trois colonnes je fais une mise en forme par Format/Cellule onglet Nombre et Personnalisé pour avoir deux chiffres en colonne « A » (1  01) et quatre chiffres colonnes « B et C » (1  0001).

Ensuite, pour obtenir un nombre de dix chiffres dans la colonne « D » j’insère la fonction CONCATENER (CONCATENER (Axx;Bxx;Cxx). Ce nombre ainsi obtenu je voudrais l’utiliser dans une fonction RECHERCEV pour récupérer dans les colonnes « E, F et G » les valeurs situées à droite de la référence dans la table de référence.

Quand je fais cela au lieu de retrouver les bonnes indications j’obtiens « #N/A » !
Comment faire pour m’en sortir ?

Un grand merci à tous ceux qui se pencheront sur mon problème.
Cordialement.
Mistral

8 réponses

Vaucluse Messages postés 26495 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 8 avril 2022 6 304
4 mars 2009 à 19:54
Bonsoir
Sauf erreur ou incompréhension, votre problème vient du fait que votre formule concatener transforme le nombre en texte, et que votre formule recherche cherche un nombre.
Pour éliminer cela, essayez de terminer votre formule CONCATENER par *1,soit:
=CONCATENER(Cell1;Cell2;Cell3)*1
Tenez nous au courant
Crdlmnt
0
Mistral_13200 Messages postés 610 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 11 décembre 2022 4
5 mars 2009 à 08:45
Bonjour,

Pourriez-vous jeter un oeil sur ce qui suit.
Je croyais avoir trouvé la solution quand je vous ai répondu hier au soir, mais en fait il me reste un probleme à résoudre car en utilisant cette formule :

=SI($C28="";"";(CONCATENER(TEXTE($A28;"00");TEXTE($B28;"0000");TEXTE($C28;"0000")))*1)

je me suis rendu compte de la chose suivante :

A B C D
00 0000 0001 1
00 0001 0001 10001
01 0001 0001 100010001
10 0001 0001 1000010001

Il semblerait que tant que le premier chiffre du résultats de la formule est un "0" le résultat affiché n'est pas celui attendu. Autrement dit j'ai ce probleme avec les valeurs de 1 à 9 sur la colonne "A".
Avez-vous une idée?
D'avance merci pour votre aide.
Mistral
0
gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 647
4 mars 2009 à 21:36
bonjour

je fais une mise en forme par Format/Cellule onglet Nombre et Personnalisé pour avoir deux chiffres en colonne « A » (1  01) et quatre chiffres colonnes « B et C » (1  0001).

En fait cette mise en forme n'est qu'un format et ne change pas la valeur de tes cellules.

Si tu as 01 0001 0001 dans tes cellules, ta formule CONCATENER (Axx;Bxx;Cxx) va te donner 111.

Pour avoir tes 10 chiffres 0100010001 il faut réappliquer ton format :
=TEXTE(A1;"00")&TEXTE(B1;"0000")&TEXTE(C1;"0000")

Cette formule est équivalente (en plus court) à :
=CONCATENER(TEXTE(A1;"00");TEXTE(B1;"0000");TEXTE(C1;"0000"))
0
Mistral_13200 Messages postés 610 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 11 décembre 2022 4
4 mars 2009 à 22:59
Merci à vous deux!
Il devait y avoir une part de vérité dans chacune de vos réponses.
En effet je suis arrivé à obtenir ce que je cherché en rentrant la formule suivante:

=SI($C2="";"";(CONCATENER(TEXTE($A2;"00");TEXTE($B2;"0000");TEXTE($C2;"0000")))*1)

La solution de Vaucluse ne me donnait pas le bon format que je souhais pour le nombre ainsi créé..

La formule simplifie de "gbinforme" me donnait le bon format pour le nombre mais j'avais toujours la même erreur "#N/A" de même que la formule équivalent.

D'ou l'idée d'associer les deux et ça marche.
Merci encore à vous deux.
Cordialement .
Mistral
0
Mistral_13200 Messages postés 610 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 11 décembre 2022 4
5 mars 2009 à 08:09
Bonjour à vous deux,
Je croyais avoir trouvé la solution quand je vous ai répondu hier au soir, mais en fait il me reste un probleme à résoudre car en utilisant cette formule :

=SI($C28="";"";(CONCATENER(TEXTE($A28;"00");TEXTE($B28;"0000");TEXTE($C28;"0000")))*1)

je me suis rendu compte de la chose suivante :

A B C D
00 0000 0001 1
00 0001 0001 10001
01 0001 0001 100010001
10 0001 0001 1000010001

Il semblerait que tant que le premier chiffre du résultats de la formule est un "0" le résultat affiché n'est pas celui attendu. Autrement dit j'ai ce probleme avec les valeurs de 1 à 9 sur la colonne "A".
Avez-vous une idée?
D'avance merci pour votre aide.
Mistral
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 647
5 mars 2009 à 08:53
bonjour

C'est bien d'avoir voulu mêler la formule de Vaucluse, que je salue, et la mienne mais en fait elles sont antinomiques :

- si tu utilises CONCATENER(TEXTE($A28;"00");TEXTE($B28;"0000");TEXTE($C28;"0000"))
..... tu obtiens 0000000001 pour 00 0000 0001
car le résultat est en mode texte.

- si tu utilises
(CONCATENER(TEXTE($A28;"00");TEXTE($B28;"0000");TEXTE($C28;"0000")))*1)
..... tu obtiens 1 pour 00 0000 0001
car *1 est fait pour numériser le résultat afin de l'utiliser pour des calculs et même si tu mets le format adéquat pour faire apparaitre les zéros de gauche, lors de la recherche ils ne seront pas utilisés.

Donc la colonne dans la quelle est utilisée ton résultat pour le recherche est soit
- numérique et alors les zéros de gauche ne sont pas utiles.
- soit texte et alors les zéros de gauche sont nécessaires.
Ce n'est pas ce qui est perçu à l'écran grâce aux formats qui est important mais le contenu de la cellule.

C'est à toi de choisir mais si tu fait ton choix pour nous faire plaisir à tous les deux tu n'aura pas le bon résultat pour ton classeur.
0
Vaucluse Messages postés 26495 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 8 avril 2022 6 304
5 mars 2009 à 08:56
Bonjour
Probablement, à mon avis, l'origine du problème
Pour faire suite à la remarque de Gbinform, je pense que si vous avez des cellules conrenats 01 (je n'avais pas percuté la dessus au début) c'est qu'elles sont déja en format texte.En effet si vous rentrez 01 dabns un fomat nombre, la cellule affiche 0 et non 01.
Dans ce cas, par exemple, avec A1 et B1 en format texte contenant rspectivement 01 et 001, la formule en C1 renvoi bien automatiquement du texte, sans nécéssiter de guillemets:
=A1&B1 donne 01001
Par contre dans ce cas, la combine *1 n'est pas un bonne idée, car elle renvoie 011, ce qui ne convient pas.Faite le test, cela vous aidera peut être
Donc, si dans votre colonne de recherche, il y a des références 01001... etc, c'est qu'elle est en format texte et ce n'est qu'avec des cellules en format texte que vous pourrez faire marcher votre formule.

A noter enfin que la modification de format d'une cellule n'est pas forcément rétroacive en Excel.Il est parfois nécessaire de réécrire les données après formatage pour assurer une application.
Bonne chance. Si cela ne marche pas, mettez nous un morceau de votre fichier à disposition

Crdlmnt



0
Mistral_13200 Messages postés 610 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 11 décembre 2022 4
5 mars 2009 à 09:49
Re à tous les deux,

Je viens de faire un essais, en supprimant "*1" , sur l'ensemble des mes références, soit 5500 articles et cela marche tres bien. Je retrouve parfaitement les appellations et les prix de chaque articles même si le format n'est affiché n'est pas celui attendu.
Je vais donc tricher un peu en créant deux colonnes, l'une pour l'affichage l'autre pour le calcule et ne garder visible que celle qui est en mode texte. Peut-être pas très élégant mais j'ai exactement ce je cherche à avoir.
Un grand merci à vous deux!

Je début dans Excel et je ne maîtrise pas tout loin s'en faut, mais auriez-vous connaissance de site permettant un apprentissage progressif et gratuits.

En vous en remerciant par avance.
Cordialement.
Mistral
0
gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 647
5 mars 2009 à 09:55
bonjour

Un petit exemple pour illustrer les différences entre formats de données et formats de présentation :

- soit format code postal avec zéros de gauche uniquement à l'écran
- soit format standard sans les zéros de gauche
- soit format texte avec zéros de gauche dans le contenu de la cellule

http://www.cijoint.fr/cjlink.php?file=cj200903/cijznW87Um.xls
0