1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| Function SuppAccents(Text)
Dim RegularExpressioN, T, U
Dim TblReg, TblSubsit
Dim ListPattern, listSubsit
'création du tableau Pattern
ListPattern = "À|Á|Â|Ã|Ä|Å Ç È|É|Ê|Ë Ì|Í|Î|Ï Ñ Ò|Ó|Ô|Õ|Ö Ù|Ú|Û|Ü Ý| "
ListPattern = ListPattern & " à|á|â|ã|ä|å ç è|é|ê|ë ì|í|î|ï ñ ð|ò|ó|ô|õ|ö ù|ú|û|ü ý|ÿ"
TblReg = Split(ListPattern, " ", -1, vbTextCompare)
'création du tableau de substitution des lettres accentuées en lettre non accentuée
listSubsit = "A C E I N O U Y Z s a c e i n o u y"
TblSubsit = Split(listSubsit, " ", -1, vbTextCompare)
T = UBound(TblReg) - 1
Set RegularExpressioN = New RegExp
RegularExpressioN.Global = True
SuppAccents = Text
For U = 0 To T
RegularExpressioN.Pattern = TblReg(U)
SuppAccents = RegularExpressioN.Replace(SuppAccents, TblSubsit(U)) ' Effectue le remplacement
Next
Set RegularExpressioN = Nothing
End Function
'2 exemples d'utilisation
dim TextSoumis, TextRetour
TextSoumis = "Je possède un script permettant d'ajouter rapidement des utilisateurs, référencés dans un fichier"
TextRetour = SuppAccents(TextSoumis)
MsgBox "Texte soumis:" & vbnewline & TextSoumis & vbnewline & vbnewline _
& "Texte en retour:" & vbnewline & TextRetour, vbinformations,"sans accents"
TextSoumis = "en me renseignant par-ci, par-là. Cependant n'étant pas spécialiste du VBScript"
TextRetour = SuppAccents(TextSoumis)
'******** ici la supressions en 2 étapes des tirets et apostrophes avec la fonction native Replace ***********
TextRetour = Replace(TextRetour,"-","")
TextRetour = Replace(TextRetour,"'","")
MsgBox "Texte soumis:" & vbnewline & TextSoumis & vbnewline & vbnewline _
& "Texte en retour:" & vbnewline & TextRetour, vbinformations,"sans accents ni tirets et apostrophes" |
Partager