Reporter si cellule contient texte/expression d'une liste

sand13

XLDnaute Occasionnel
Bonjour à tous,

J'ai un petit soucis à faire des recherches par rapport à une liste:

J'ai dans une cellule en colonne A une expression que je voudrais comparer par rapport à 2 listes que j'ai dans un onglet source.

Donc si un des mot est commun à un des terme de ma colonne A de la feuille source, je voudrais qu'il soit reporté dans la colonne B à côté de l'expression étudiée.
Pareil pour si une des expressions présente dans la colonne B de la feuille source est dans ma cellule dans la colonne A de ma feuille de travail, alors la reporter.

Je vous met un fichier avec le résultat attendu je pense que ça sera plus facile à comprendre.

D'avance un grand merci pour votre aide.

Cordialement,
 

Pièces jointes

  • test.xls
    17 KB · Affichages: 61
  • test.xls
    17 KB · Affichages: 65
  • test.xls
    17 KB · Affichages: 71

Jocelyn

XLDnaute Barbatruc
Re : Reporter si cellule contient texte/expression d'une liste

Bonjour le Forum,
Bonjour Sand13,

un essai en fichier joint

Cordialement
 

Pièces jointes

  • Sand13.xls
    18.5 KB · Affichages: 65
  • Sand13.xls
    18.5 KB · Affichages: 72
  • Sand13.xls
    18.5 KB · Affichages: 74

sand13

XLDnaute Occasionnel
Re : Reporter si cellule contient texte/expression d'une liste

Bonjour Jocelyn,

Merci beaucoup pour votre réponse.

Si j'adapte votre fichier au mien j'ai un petit soucis

Dans la premiere ligne il me prend "pare choc avant droit" alors que dans la base c'est juste m "pare choc avant" (entre autre).

D'avance merci

Edit: si je peux rajouter pour être précis, la recherche doit trouver la description la plus précise possible, si c'est "pare choc avant suzuki" il devra trouver dans la feuille source "pare choc avant" mais si c'est "pare choc avant droit suzuki" alors ça sera "pare choc avant droit" (présent lui aussi dans la feuille source).

J'espère que je suis compréhensible

Encore merci
 

Pièces jointes

  • Sand13-1.xls
    24.5 KB · Affichages: 61
  • Sand13-1.xls
    24.5 KB · Affichages: 53
  • Sand13-1.xls
    24.5 KB · Affichages: 55
Dernière édition:

Jocelyn

XLDnaute Barbatruc
Re : Reporter si cellule contient texte/expression d'une liste

re,

Dans ta liste de la colonne B tu as d'écrit : Pare choc avant ou le terme pare à un e

Alors que dans le texte en cellule A19 de la feuille 1 on a : Part choc avant suzuki ou part fini par un T

pour excel ses 2 termes ne sont pas identique si tu met un e a la fin de part en feuille 1 ou un T en feille source excel renverra la bonne valeur

Concernant la cellule A20 tu as Phare avant BMW donc la formule de trouve rien car dans la liste de la colonne B de la feuille source on trouve seulement

Phare avant droit
Phare avant droit Žlectrique xenon
Phare avant droit rŽglage Žlectrique
Phare avant gauche
Phare avant gauche Žlectrique xenon
Phare avant gauche rŽglage Žlectrique
Phare rŽglage hydraulique avant gauche
Phare rŽglage pneumatique droit
Phare rŽglage pneumatique gauche
Phrare rŽglage hydraulique avant droit

donc pas "phare avant"

Excel ne dispose pas d'une boule de cristal pour pouvoir gérer les différence orthographique

je modifie la formule pour que si elle ne trouve pas elle indique valeur non trouvée
 

Pièces jointes

  • Sand13-1.xls
    24.5 KB · Affichages: 61
  • Sand13-1.xls
    24.5 KB · Affichages: 63
  • Sand13-1.xls
    24.5 KB · Affichages: 63

sand13

XLDnaute Occasionnel
Re : Reporter si cellule contient texte/expression d'une liste

Mince,

Je suis vraiment désolé pour cette erreur...

Cependant si je marque "Pare choc avant droit suzuki" la formule sort "Si￾ege anti-brouillard avant gauche" alors que pare choc avant droit est bien présent dans la liste
 

Jocelyn

XLDnaute Barbatruc
Re : Reporter si cellule contient texte/expression d'une liste

arf, oui j'ai vu pourquoi car li trouve "pare choc avant" et "pare choc avant droit" dans la liste donc au lieu d'additionne seulement la ligne 19 de la colonne B de la feuille source il prend la ligne 19 et la ligne 17 soit 36 et li va donc cherché la valeur de la ligne 36

hum hum ce n'est pas vraiment un doublon mais cela joue de la même façon

La tout de suite je ne vois pas trop quoi faire

mais je vais essayer de trouver
 

david84

XLDnaute Barbatruc
Re : Reporter si cellule contient texte/expression d'une liste

Bonsoir, salut Jocelyn,
histoire de comprendre avant éventuellement de te proposer quelque chose : pour l'exemple Phare avant BMW quel est le résultat attendu et pourquoi ?
Avec 2 exemples fournis, c'est un peu léger...
A+
 

sand13

XLDnaute Occasionnel
Re : Reporter si cellule contient texte/expression d'une liste

pour phare avant bmw je dois retrouver l'expression la plus proche contenue dans la colonne B de la feuille source donc qui serait phare avant.

si j'avais eu phare avant droit bmw, ça aurait été phare avant droit qui est également dans la colonne B de 'source'.

Si par contre phare avant droit n'était pas dans cette liste, l'expression la plus proche aurait donc été 'phare avant'.

C'est pour trier une énorme base de donnée
 

david84

XLDnaute Barbatruc
Re : Reporter si cellule contient texte/expression d'une liste

Re

pas sûr d'avoir compris ta façon de voir les choses...ci-joint une fonction personnalisée à tester valable pour le traitement de la colonne B :
Code:
Function ValeurProche(chaine As String, Pl As Range) As String
Dim c As String, s, i As Byte, j As Byte, k As Long, pos As Byte
s = Split(Trim(chaine))
j = UBound(s)
For i = LBound(s) To UBound(s)
    If i > 0 Then pos = InStr(chaine, s(j)): c = Mid(chaine, 1, pos - 2): j = j - 1 Else: c = chaine
    For k = 1 To Pl.Rows.Count
        If InStr(Pl(k), c) > 0 Then ValeurProche = c: Exit Function
    Next k
Next i
End Function
A toi de tester plus avant parce qu'avec seulement 2 exemples fournis...
A+
 

Pièces jointes

  • Sand13-1.xls
    42 KB · Affichages: 53
  • Sand13-1.xls
    42 KB · Affichages: 63
  • Sand13-1.xls
    42 KB · Affichages: 66

sand13

XLDnaute Occasionnel
Re : Reporter si cellule contient texte/expression d'une liste

Merci David pour la fonction personnalisée mais ça ne marche pas.

Demain matin je vous fourni un fichier avec une trentaine d'exemple afin de mieux expliquer ma demande.

Serez-vous toujours disponible ?

Un grand merci de votre aide.
 

david84

XLDnaute Barbatruc
Re : Reporter si cellule contient texte/expression d'une liste

Bonjour,
je ne pense pas être disponible aujourd'hui mais si d'autres membres du forum ne t'ont pas répondu d'ici ce soir ou demain je verrai cela quand je pourrai.
Effectivement cela manque d'exemples explicite par ce que lorsque tu dis
pour phare avant bmw je dois retrouver l'expression la plus proche contenue dans la colonne B de la feuille source donc qui serait phare avant.

si j'avais eu phare avant droit bmw, ça aurait été phare avant droit qui est également dans la colonne B de 'source'.

Si par contre phare avant droit n'était pas dans cette liste, l'expression la plus proche aurait donc été 'phare avant'.
le problème c'est que je ne vois pas phare avant dans la colonne B.
Je vois
Phare avant droit
Phare avant droit Žlectrique xenon
Phare avant droit rŽglage Žlectrique
Phare avant gauche
Phare avant gauche Žlectrique xenon
Phare avant gauche rŽglage Žlectrique
Phare rŽglage hydraulique avant gauche
Phare rŽglage pneumatique droit
Phare rŽglage pneumatique gauche
Phrare rŽglage hydraulique avant droit
mais pas phare avant donc quel item choisit-on et pourquoi ?

De plus qu'entends-tu précisément par "expression la plus proche" ?
Si je recherche phare arrière BMW et qu'en colonne B j'ai phare arrière, phare BMW et siège arrière BMW je fais quoi ?
Sur quels critères te bases-tu pour dire que phare arrière est l'expression la plus proche ?
Donc choisis des exemples explicites et donne-nous les bons critères de "décodages".
A+
 

Discussions similaires

Réponses
8
Affichages
412
  • Résolu(e)
Microsoft 365 Tri et Import
Réponses
4
Affichages
163

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16