[Resolu] Supprimer caracteres speciaux

arthur203

XLDnaute Junior
Hello Forum,

J'aimerai supprimer via VBA tous les caracteres speciaux contenus dans une feuille excel et les remplacer par un espace (e.g. [***urgent !*** A envoyer] @ PAR urgent a envoyer). Apres moulte recherche, je n'ai pas trouve une macro qui fonctionne ...

Merci poru votre aide
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Voir le fichier joint en colonne B.
VB:
Function EPURE$(ByVal txt$, xrg As Range)
Dim tablo, i&
   tablo = xrg  'caractères spéciaux
   For i = 1 To UBound(tablo): txt = Replace(txt, tablo(i, 1), tablo(i, 2)): Next
   EPURE = Application.Trim(txt)       'au cas où...
End Function
 

Pièces jointes

  • Fil 28- Epure Function- v1.xls
    32.5 KB · Affichages: 1
Dernière édition:

fil28

XLDnaute Nouveau
J'ai essayé ca mais sans succès:

Option Explicit

Function EPURE$(txt$)
Dim tablo, t
tablo = [Liste] 'caractères spéciaux
For Each t In tablo
txt = Application.Trim(Replace(txt, t, Application.VLookup(t, tablo, 2, 0)))

Next
EPURE = txt
End Function
 

patricktoulon

XLDnaute Barbatruc
un exemple simplissime
VB:
Option Explicit
Function replaceonebyone(chain As String, table)
    Dim t, i&
    t = table.Value
    For i = 1 To UBound(t)
        replaceonebyone = Replace(chain, CStr(t(i, 1)), CStr(t(i, 2)))
    Next
End Function
la formule
=replaceonoebyone(A1;tableau1)
 

Pièces jointes

  • exemple.xlsm
    18.5 KB · Affichages: 2

Discussions similaires

Réponses
2
Affichages
117

Statistiques des forums

Discussions
312 216
Messages
2 086 344
Membres
103 194
dernier inscrit
rtison