Rechercher remplacer dans chaîne de caractères

Daybouk

XLDnaute Nouveau
Bonjour,

Je cherche à remplacer des éléments d'une chaîne de caractères (de longueur variable) par d'autres en utilisant le principe de RECHERCHEV.

Je m'explique :
- j'ai des cellules contenant des codes séparés par une virgule
Ex :
3701,3725
0504
0501,0503,0502,0504,0523,0505,0506,0550

- chaque code a un équivalent en lettre (voir onglet "Tab d'équivalence" dans le fichier joint)
Ex :
3701 = SIN
3725 = MAL
0504 = SER
etc.

- je veux remplacer chaque code par son équivalent lettre en les séparant par un tiret et en gardant l'ordre.
Ex du résultat :
3701,3725 => SIN,MAL
0504 => SER
0501,0503,0502,0504,0523,0505,0506,0550 => CRO,BOS,SLO,SER,MON,MCD,ALB,KOS

Je prends les solutions formules Excel ou VBA !

Merci pour votre aide.
 

Pièces jointes

  • Exemple.xlsx
    40.2 KB · Affichages: 39

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour
fonction modifiée, elle renvoie #N/A si il reste un chiffre supérieur à zéro dans la chaîne après traitement
Cordialement
Code:
Function Correspondance_Ident(Valeur_Code As String, Plage_Tab As Range)
Tab_Données = Plage_Tab.Value
For Compteur = LBound(Tab_Données) To UBound(Tab_Données)
    Valeur_Code = Replace(Valeur_Code, Tab_Données(Compteur, 1), Tab_Données(Compteur, 2))
Next Compteur
Correspondance_Ident = Replace(Valeur_Code, ",", "-")
If Val(Correspondance_Ident) > 0 Then Correspondance_Ident = "#N/A"
End Function
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 336
Membres
103 190
dernier inscrit
silverwolf854