1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| Function CleanAccents(ByVal myChaine As String) As String
Dim lngNum As Long 'numéro du caractère en cours de traitement
Dim blnMaj As Boolean 'VRAI si le caractère sélectionné est en majuscule
For lngNum = 1 To Len(myChaine)
blnMaj = Asc(UCase(Mid(myChaine, lngNum, 1))) = Asc(Mid(myChaine, lngNum, 1))
Select Case LCase(Mid(myChaine, lngNum, 1))
Case "à", "â", "ä" 'tous les a accentués
Mid(myChaine, lngNum, 1) = IIf(blnMaj, "A", "a")
Case "é", "è", "ê", "ë" 'tous les e accentués
Mid(myChaine, lngNum, 1) = IIf(blnMaj, "E", "e")
Case "î", "ï" 'tous les i accentués
Mid(myChaine, lngNum, 1) = IIf(blnMaj, "I", "i")
Case "ô", "ö" 'tous les o accentués
Mid(myChaine, lngNum, 1) = IIf(blnMaj, "O", "o")
Case "ù", "û", "ü" 'tous les u accentués
Mid(myChaine, lngNum, 1) = IIf(blnMaj, "U", "u")
Case "ÿ" 'tous les y accentués
Mid(myChaine, lngNum, 1) = IIf(blnMaj, "Y", "y")
Case Else 'sinon
'rien à faire
End Select
Next
CleanAccents = myChaine
End Function |
Partager