XL 2013 Recherchev (Grand vers Petit)

fil28

XLDnaute Nouveau
Re-Bonjour,

2ème message de la journée c'est rare :)
Cette fois ci c'est pour une recherchev particulière
J'ai 2 feuilles
- Base
- Liste

=> Le problème c'est que dans ma feuille base je cherche une chaine de caractères plus longue que celle présente dans l'onglet Liste.
Du coup recherchev(*A2*;;;) ne fonctionne pas

Exemple
Ma feuille base contient l'expression " Les frais bancaires ont été prélevés le 25/03"
Ma feuille liste contient
- En colonne A : frais bancaires
- En colonne B : le % associé ex 2%

Comment faire la recherche de la grande chaine de caractères vers la plus petite et donc rapatrié le 2% dans ma feuille base?

je suis preneur de la solution en formule (et vba).
Merci d'avance pour vos lumières
Philippe
 

Pièces jointes

  • RecherchevParticulière.xlsx
    9.9 KB · Affichages: 4

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

formule en B2 à tirer vers le bas :
=SIERREUR(INDEX(Liste!$B$2:$B$4;AGREGAT(15;6;(LIGNE(Liste!$A$2:$A$4)-1)/ESTNUM(TROUVE(Liste!$A$2:$A$4;Base!$A2));1));0)

Si vous déplacez votre liste, adapter le -1 du LIGNE(Liste!$A$2:$A$4)-1 suivant le nouveau numéro de ligne de l'entête de votre liste.

Cordialement
 

Pièces jointes

  • RecherchevParticulière.xlsx
    10.8 KB · Affichages: 4

fil28

XLDnaute Nouveau
Bonjour Hasco,

Un grand merci ! (je suis en train de déchiffrer la formule ... j'ai dû mal ! Je connais chacune des fonctions (sauf Agregat merci je viens d'en apprendre une nouvelle) mais imbriquées je galère un peu pour le moment)!!

Excellent week end
Philippe
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Dans cette formule, on se sert de la faculté d'agrégat à ignorer les erreurs (6 du deuxième paramètre) contenues dans le tableau qu'on lui passe en paramètre.
On lui passe donc un tableau de numéros de lignes divisés par une comparaison de valeurs. Sachant que Faux = 0 les comparaisons divisées faux(0) donneront #DIV/0 et seront rejetées. Seules les comparaisons divisées par Vrai (1) seront retenues.
Petite.Valeur (fonction représentée le 15 du premier paramètre) renverra la première ( 1 du dernier paramètre de agregat) valeur du tableau résultat.

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 165
Messages
2 085 883
Membres
103 014
dernier inscrit
moimoi31