XL 2016 Recherche V sur nombre de caractères variables

quentinkirket

XLDnaute Nouveau
Bonjour à tous,

J'ai besoin de votre aide concernant une recherche V à partir d'une racine qui ne comporte pas le même nombre de caractères... Je m'explique;

J'ai besoin de connaître la CMJ (Consommation Moyenne Journalière) des composants en Feuil1 colonne D.
Certaines pièces en colonne A ont maintenant des nouveaux noms, et la CMJ des pièces est calculée à partir de la Feuil3.

Grâce à la nomenclature en Feuil2 j'aimerai retrouver, pour les anciennes références, leur nouveau nom associé. Le problème c'est que la recherche doit se faire à partir de la racine en Feuil1 et le nombre de caractères est variable...

Je ne sais pas si je suis bien clair mais je partage mon fichier!

D'avance merci.
 

Pièces jointes

  • Recherche_nouvelle_ref.xlsx
    187.2 KB · Affichages: 15

quentinkirket

XLDnaute Nouveau
Bonjour,

Par exemple l'ancienne référence "44-119" est maintenant appelée "V01801", mais je l'ai trouvée grâce à une recherche manuelle, j'aimerai trouver une formule qui fait le lien entre les anciennes références et les nouvelles de façon automatique.
Le problème c'est que dans le tableau de la nomenclature, le nom de cette référence de pièce "44-119" est différent selon l'opération effectuée sur cette pièce et le nombre de caractère est variable donc je ne vois pas comment faire le lien entre ces deux références...

J'espère que c'est un peu plus clair pour vous...
 

job75

XLDnaute Barbatruc
Bonjour quentinkirket,

Voyez le fichier .xlsm joint et cette fonction VBA :
VB:
Function NRef(v, plage As Range)
Dim c As Range
Set c = plage.Find(v, , xlValues, xlPart)
If c Is Nothing Then NRef = "" Else NRef = plage(c.Row, plage.Columns.Count + 1)
End Function
Le code doit être placé impérativement dans un module standard.

Formules en Feuil1!C2 et Feuil1!D2 à tirer vers le bas :
Code:
=NRef(A2;Feuil2!A:O)
=SIERREUR(RECHERCHEV(C2;Feuil3!A:C;3;0);"")
A+
 

Pièces jointes

  • Recherche_nouvelle_ref(1).xlsm
    235 KB · Affichages: 8

job75

XLDnaute Barbatruc
Re, salut JHA,

Effectivement si l'on est sûr qu'il suffit de rechercher en colonne B de Feuil2 c'est bien plus simple.

Voyez le fichier .xlsx joint et cette formule en Feuil1!C2 :
Code:
=SIERREUR(INDEX(Feuil2!P:P;EQUIV(A2&"*";Feuil2!B:B;0));"")
Surtout le calcul est beaucoup plus rapide.

A+
 

Pièces jointes

  • Recherche_nouvelle_ref(1).xlsx
    228.2 KB · Affichages: 8

job75

XLDnaute Barbatruc
Bonjour quentinkirket, le forum,

Puisque vous avez parlé de RECHERCHEV, voyez ce fichier (2) avec en Feuil1!C2 :
Code:
=SIERREUR(RECHERCHEV(A2&"*";Feuil2!B:P;15;0);"")
A+
 

Pièces jointes

  • Recherche_nouvelle_ref(2).xlsx
    228.1 KB · Affichages: 4

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 165
Messages
2 085 880
Membres
103 009
dernier inscrit
dede972