Tutta quella serie di If non serve praticamente a nulla, perché se non è presente almeno un'occorrenza del carattere che intendi sostituire, la Replace non cambia assolutamente niente.
Riguardo i codici ASCII che hai utilizzato, ha ragione Grumpy, non sono quelli che ti aspetti.
Questo perchè VB usa una tabella dei codici ASCII estesa diversa da quella del tuo sistema, quindi le lettere accentate possono essere ottenute solo con la combinazione da tastiera ALT + Numero.
Per quello che devi fare, comunque, prova così:
codice:
Sub char_spec()
Desc = Replace(Desc, "è", "e")
Desc = Replace(Desc, "É", "E")
Desc = Replace(Desc, "ò", "o")
Desc = Replace(Desc, "ù", "u")
Desc = Replace(Desc, "á", "a")
Desc = Replace(Desc, "ó", "o")
Desc = Replace(Desc, "ú", "u")
Desc = Replace(Desc, "Á", "A")
Desc = Replace(Desc, "À", "A")
Desc = Replace(Desc, "È", "E")
Desc = Replace(Desc, "Í", "I")
Desc = Replace(Desc, "Ì", "I")
Desc = Replace(Desc, "Ó", "O")
Desc = Replace(Desc, "Ò", "O")
Desc = Replace(Desc, "Ù", "U")
Desc = Replace(Desc, "Ú", "U")
End Sub
Boolean