Petit problème de formule CONCATENER dans RECHERCHEV

jim7963

XLDnaute Junior
Bonjour à tous,

je fais appelle à vos lumière car je suis en train de m'énerver sur une formule qui peut paraître toute bête mais qui ne veut pas fonctionner et je n'arrive pas à comprendre pourquoi.

Lorsque j'écris la formule ainsi:
Code:
=RECHERCHEV("EPICERIE";'S1'!$C$3:$R$20000;15;FAUX)

ça fonctionne parfaitement, mais lorsque j'écris

Code:
=RECHERCHEV("EPICERIE";"'"&CONCATENER("S";$D$4)&"'!$C$3:$R$20000";15;FAUX)

Excel me renvoie un #VALEUR ($D$4 contient bien la valeur 1).

En sachant que j'ai testé la partie
Code:
"'"&CONCATENER("S";$D$4)&"'"
dans une cellule et il me renvoie bien ce que je veux, à savoir: 'S1'

Une idée d'où pourrait provenir l'erreur dans ma formule?
 

ROGER2327

XLDnaute Barbatruc
Re : Petit problème de formule CONCATENER dans RECHERCHEV

Bonjour jim7963, Jocelyn,
bonjour à tous.


Bonjour à tous,

je fais appelle à vos lumière car je suis en train de m'énerver sur une formule qui peut paraître toute bête mais qui ne veut pas fonctionner et je n'arrive pas à comprendre pourquoi.

Lorsque j'écris la formule ainsi:
Code:
=RECHERCHEV("EPICERIE";'S1'!$C$3:$R$20000;15;FAUX)

ça fonctionne parfaitement, mais lorsque j'écris

Code:
=RECHERCHEV("EPICERIE";"'"&CONCATENER("S";$D$4)&"'!$C$3:$R$20000";15;FAUX)

Excel me renvoie un #VALEUR ($D$4 contient bien la valeur 1).

En sachant que j'ai testé la partie
Code:
"'"&CONCATENER("S";$D$4)&"'"
dans une cellule et il me renvoie bien ce que je veux, à savoir: 'S1'

Une idée d'où pourrait provenir l'erreur dans ma formule?
À jim7963 :

Un petit tour dans l'aide d'Excel vous donne immédiatement la réponse.
Extrait de l'aide :​
Syntaxe
RECHERCHEV(valeur_cherchée, table_matrice, no_index_col, [valeur_proche])
La syntaxe de la fonction RECHERCHEV contient les arguments suivants :
(...)
table_matrice Obligatoire. Plage de cellules qui contient les données. Vous pouvez utiliser une référence à une plage (par exemple, A2:D8) ou un nom de plage. C’est sur les valeurs de la première colonne de table_matrice que porte valeur_cherchée. Ces valeurs peuvent être du texte, des nombres ou des valeurs logiques. La fonction ne fait pas de distinction entre les majuscules et les minuscules.
(...)


CONCATENER, fonction

Description

La fonction CONCATENER relie jusqu’à 255 chaînes de texte en une seule chaîne. (...)


INDIRECT, fonction

(...)

Description

Renvoie la référence spécifiée par une chaîne de caractères. Les références sont immédiatement évaluées afin d’afficher leur contenu. Utilisez la fonction INDIRECT lorsque vous voulez modifier la référence à une cellule à l’intérieur d’une formule sans modifier la formule à proprement parler.
Autrement dit, si D4 contient 1 :
Code:
=RECHERCHEV("EPICERIE";"'"&CONCATENER("S";$D$4)&"'!$C$3:$R$20000";15;FAUX)
revient à écrire :
Code:
=RECHERCHEV("EPICERIE";"'S1'!$C$3:$R$20000";15;FAUX)
et non :
Code:
=RECHERCHEV("EPICERIE";'S1'!$C$3:$R$20000;15;FAUX)
D'où plantage assuré.

L'utilisation de INDIRECT devrait améliorer les choses...

C'est utile, la touche F1 !​


Bonne journée.


ROGER2327
#6560


Mercredi 11 Clinamen 140 (Saint Maquereau, Intercesseur - fête Suprême Quarte)
13 Germinal An CCXXI, 3,8844h - morille
2013-W14-2T09:19:21Z
 

Discussions similaires

Réponses
3
Affichages
209

Statistiques des forums

Discussions
312 355
Messages
2 087 553
Membres
103 588
dernier inscrit
Tom59300Tom