Public Function SansAccent(ByVal strWord As String) As String
' Retourne la chaîne passée en paramètre sans les accents
Dim oReg As RegExp
Dim varTab(17, 2) As String
Dim iCpt As Integer
Set oReg = New RegExp
varTab(1, 1) = "[ÀÁÂÃÄÅ]": varTab(1, 2) = "A"
varTab(2, 1) = "[àáâãäå]": varTab(2, 2) = "a"
varTab(3, 1) = "[Ç]": varTab(3, 2) = "C"
varTab(4, 1) = "[ç]": varTab(4, 2) = "c"
varTab(5, 1) = "[ÈÉÊË]": varTab(5, 2) = "E"
varTab(6, 1) = "[èéêë]": varTab(6, 2) = "e"
varTab(7, 1) = "[ÌÍÎÏ]": varTab(7, 2) = "I"
varTab(8, 1) = "[ìíîï]": varTab(8, 2) = "i"
varTab(9, 1) = "[Ñ]": varTab(9, 2) = "N"
varTab(10, 1) = "[ñ]": varTab(10, 2) = "n"
varTab(11, 1) = "[ÒÓÔÕÖ]": varTab(11, 2) = "O"
varTab(12, 1) = "[òóôõö]": varTab(12, 2) = "o"
varTab(13, 1) = "[ÙÚÛÜ]": varTab(13, 2) = "U"
varTab(14, 1) = "[ùúûü]": varTab(14, 2) = "u"
varTab(15, 1) = "[Ý]": varTab(15, 2) = "Y"
varTab(16, 1) = "[ýÿ]": varTab(16, 2) = "y"
varTab(17, 1) = "[ß]": varTab(17, 2) = "ss"
With oReg
.IgnoreCase = False
For iCpt = 1 To UBound(varTab)
If Len(varTab(iCpt, 1)) > 0 Then
.Pattern = varTab(iCpt, 1)
strWord = .Replace(strWord, varTab(iCpt, 2))
End If
Next iCpt
End With
SansAccent = strWord
Set oReg = Nothing
End Function