Gauche() + recherchev()

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 !

Antoine_SIG

XLDnaute Nouveau
Bonjour,
Dans un tableau excel, sur une feuille "S1", j'ai une colonne A comportant des numéros d'affaires en format standard à 5 caractères de type.
Exemple :
A2 = 14001
A3 = 21115
A4 = 21206
A5 = 24005
Ax... etc

Par ailleurs dans la feuille "Listes", j'ai la liste suivante :
A2 = 11 ; B2 = Assistance
A3 = 12 ; B3 = Formation
A4 = 13 ; B4 = Production
A5 = 14 ; B5 = Vente
A6 = 21 ; B3 = Gestion de projet
A7 = 24 ; B4 = Conseil
...
A28 = 90 ; B28 = Autres

(colonne A : nombre à 2 caractères en format standard)


PROBLEME 1 :
------------
Quand je saisis un numéro à 5 caractères dans ma cellule A6 de ma feuille "S1", je veux que la celulle B6 (feuille "S1") repère les 2 premiers chiffres de la cellule A6 et fasse appel à la feuille "Listes" pour afficher le nom correspondant de la colonne B.
Par exemple, si je tape dans la cellule A6 le code 21675, je veux que Excel repère la présence de "21" dans les 2 premiers caractères et, en se réfèrant à la feuille "listes", affiche le mot "Gestion de projet".

J'ai tenté la formule suivante (avec fonction pour ne rien afficher si absence de valeur) :
=SI(ESTNA(RECHERCHEV(GAUCHE(A6;2);Listes!A2:B28;2));"";RECHERCHEV(GAUCHE(A6;2);Listes!A2:B28;2))

... Mais ça ne marche pas
QUESTION 1 : comment faire ? Qu'est-ce qui cloche ?


PROBLEME 2 :
------------
Si je remplace le contenu de la colonne A (feuille "S1") par des nombres à 2 caractères (de type 14, 21, 24, ...) et que je modifie la fonction de la manière suivante :
=SI(ESTNA(RECHERCHEV(A6;Listes!A2:B28;2));"";RECHERCHEV(A6;Listes!A2:B28;2))

... Ca fonctionne mais j'ai alors un autre problème : si je saisis la valeur 16 en A6, j'obtiens "Vente" en B6 (comme si j'avais saisi la valeur 14. Or, dans la feuille "Listes", la valeur 16 n'existe pas et ne correspond à rien. Excel ne devrait rien afficher en B6 de la feuille "S1" mais il m'affiche quand-même le nom qui correspond à la valeur 14.
QUESTION 2 : où est le problème (format de cellules ? formule ? ... ?)

Merci d'avance pour vos lumières...
 
Re : Gauche() + recherchev()

Bonjour,

Première question
Au choix :
=SI(NB.SI(Liste!A:B;GAUCHE(A10;2)*1)=0;"";RECHERCHEV(GAUCHE(A10;2)*1;Liste!A2:B7;2;0))
=SI(NB.SI(Liste!A:B;ENT(A10/1000)=0;"";RECHERCHEV(ENT(A10/1000);Liste!A:B;2;0))
La fonction GAUCHE renvoie un format texte, il faut donc multiplier le résultat par 1 pour le transformer en valeur numérique.

Deuxième question
il ne faut pas faire l'impasse sur le 4ème argument de la fonction RECHERCHEV.
Vois les formules ci-dessus.

En cas de problème, mets un petit extrait de ton fichier en pièce jointe, ce sera plus facile.

abcd
 
- 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

Discussions similaires

Réponses
5
Affichages
131
Réponses
1
Affichages
881
Réponses
4
Affichages
812
Réponses
4
Affichages
3 K
Retour