Help!

melle_lilou

XLDnaute Nouveau
Bonjour tout le monde,

Ca fait un petit moment maintenant que je consulte ce forum. j'y ai toujours trouver les sollutions à mes problèmes!
Sauf aujourd'hui... alors je me suis décidé à poster.

Alors voila mon problème :
J'ai, dans la colonne A, une liste de noms de produits qui contiennent chacun plusieurs types d'infos (type de produit, couleur et taille). Ex : en A1 j'ai "t-shirt rouge 36"
Pour simplifier, mon pb est que je souhaite faire apparaître en colonne B la traduction en anglais de la couleur de l'article. Or la liste est très longue!

J'ai à coté une plage de données C1:D10 qui contient l'ensemble des couleurs à remplacer (rouge, rose pale, vert bouteille...) en colonne C et leur équivalent en anglais en colonne D.

On a donc :

Colonne A
t-shirt rouge 36
jupe rose pale 38
etc...

Colonne B


Colonne C
Vert
rouge
etc..


Colonne D
green
red
etc...


Ma question est la suivante : comment faire pour dire à mon cher petit ordinateur de mettre le mot "red" dans la colonne B dès qu'il voit le mot "rouge" dans la colonne A???

Merci beaucoup pour votre aide !!!
 

Efgé

XLDnaute Barbatruc
Re : Help!

Bonjour melle_lilou
Il est toujours plus simple pour tout le monde, de mettre un fichier exemple
Je vous propose une formule:
En partant d'un exemple de Mutzik . Je suis incapable de l'expliquer mais elle fonctionne :D
Code:
=RECHERCHEV(GAUCHE(DROITE($A2;NBCAR($A2)-CHERCHE(" ";$A2));CHERCHE(" ";DROITE($A2;NBCAR($A2)-CHERCHE(" ";$A2)))-1);$C$2:$D$3;2;0)
Cordialement
 

Pièces jointes

  • melle_lilou(1).xls
    13.5 KB · Affichages: 46

pierrejean

XLDnaute Barbatruc
Re : Help!

Re

Dans le fichier que je t'ai fourni tu copie ceci et tu le mets dans un module standard
(pour le module faire Alt F11 :aller en visual Basic editor , puis Insertion et enfin Module
Code:
Function couleur(X As String, couleurs As Range)
couleur = "#Valeur"
Z = Split(X, " ")
plage = couleurs
For n = LBound(Z) To UBound(Z)
  For m = LBound(plage, 1) To UBound(plage, 1)
    If UCase(Z(n)) = UCase(plage(m, 1)) Then
      couleur = plage(m, 2)
    End If
  Next m
Next n
End Function
 

Discussions similaires

Statistiques des forums

Discussions
312 680
Messages
2 090 862
Membres
104 678
dernier inscrit
soufiane12