Macro remplacer texte par un autre d'une base de donnée

Bonsoir,

Je souhaite créer une macro (ou une formule) qui me permet de remplacer un texte dans un cellule en colonne A (feuil1) par un autre texte provenant d'une liste donnée en feuil2.

J'ai mis un petit exemple, en colonne A j'ai plusieurs type de produit différents (plusieurs centaines de produits possible), je souhaite qu'en colonne B le type de produit soit simplifié en utilisant la liste en feuil2 (regroupement de produit). J'avais pensé à la formule STXT, mais ça ne fonctionne pas car certains type souhaité ont 4 caractères et d'autres en on plus.

Serait-il possible de faire ça via une macro ? Si oui y'aurait-il une âme charitable pour créer cette macro ?

Merci d'avance à vous

11exemple.xlsx (10.20 Ko)

Bonsoir,

Un test en D3 et à tirer :

=INDEX(Feuil2!$A$3:$A$50;EQUIV(A3;Feuil2!$A$3:$A$50;1))

Par contre il faut qu'en A3 vous ayez inscrit Subtran 45-3/35-RP et non Subtran45-3/35-RP. Pour votre conversion de la ligne 8 je ne comprend pas la logique désolé.

Cdlt,

Bonjour Ergotamine,

Merci pour votre aide, malheureusement j'ai testé, mais cette solution ne fonctionne pas à 100%.

J'ai rajouter quelques exemples dans le fichier ci-dessous qui produisent pas le bon résultat (voir ceux surligné en jaunes)

12exemple.xlsx (11.16 Ko)

Bonjour,

Désolé mais je n'arriverais à faire plus malgré mes essais à l'aide d'INDEX EQUIV, RECHERCHEV qui me retourne le même résultat ou un SOMMEPROD(CHERCHE()) qui me donne des erreurs sous certaines lignes.

En effet même par VBA il faudrait comparer caractère par caractère et trouver quelle est le mot contenant le maximum de caractères compatibles car si je prend quelques exemples :
- CSH 155 devient CSH 155/185
- CSH 185/4-7,1 C/0 devient CSH 155/185 donc on ne peut pas faire de recherche de gauche à droite
- GBSD 155 doit devenir GBSD 155/185 et non GBS qui est également une des valeurs de correspondance, or EQUIV renvoie la première correspondance trouvée avec +1 comme type de recherche. Cela fonctionne au contraire en mettant -1 et triant les données par ordre décroissant, mais ce sont les valeurs anciennement conformes qui deviennent alors non conformes.

Je ne peux pas non plus passer par la méthode split de VBA et séparer les mots par espace puis incrémenter une variable qui comptabilisera les occurrences conformes des mots cherchés dans les mots de correspondance car comme dans l'exemple ci-dessus 185 doit être assimilé a 155/185.

Ce problème dépasse mes compétences désolé je ne pourrais rien faire de plus. Si quelqu'un d'autre a une idée.

Cdlt,

Rechercher des sujets similaires à "macro remplacer texte base donnee"