لك الشكر اخوي حصلت الطريقة هذي وهذا اللي كنت ابيه بالضبط
Option Compare Database
Function TransA2E(W As String) As String
On Error GoTo err:
Dim AL(), EL(), L As Byte
AL = Array(" Çá", "Á", "óÇ", "Ç", "Ã", "Â", "ì", "Å", "Ä", "Æ", "È", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "Ø", "Ù", "Ú", "Û", "Ý", "Þ", "ß", "á", "ã", "ä", "å", "É", "õæú", "æ", "öí", "í", "ó", "ð", "õ", "ñ", "ö", "ò")
EL = Array(" al-", "'a", "a", "a", "a", "aa", "a", "i", "u", "i", "b", "t", "th", "j", "h", "kh", "d", "th", "r", "z", "s", "sh", "s", "sh", "t", "th", "", "gh", "f", "q", "k", "l", "m", "n", "h", "h", "u", "w", "i", "y", "a", "tn", "u", "un", "i", "in")
Do
p = InStr(p + 1, W, "ø")
If p > 0 Then W = Left(W, p - 1) & Mid(W, p - 1, 1) & Mid(W, p + 1)
Loop While p > 0
For R = LBound(AL) To UBound(AL)
W = Replace(W, AL®, EL®)
Next
TransA2E = W
err:
End Function
ولك الشكر مره أخرى