Page 1 sur 1

Remplacer les accent par des lèttre simple

Publié : mar. 03/mai/2011 12:58
par dayvid
Petite procedure pour remplacer les accents dans une chaine par leur equivalent en lettre simple

Code : Tout sélectionner

Procedure.s ReplaceAccents(Chaine$)
  Chaine$ = ReplaceString(Chaine$, "Œ", "OE")
  Chaine$ = ReplaceString(Chaine$, "æ", "ae")
  Chaine$ = ReplaceString(Chaine$, "œ", "oe")
  Chaine$ = ReplaceString(Chaine$, "µ", "u")
  Chaine$ = ReplaceString(Chaine$, "Ÿ", "Y")
  Chaine$ = ReplaceString(Chaine$, "À", "A")
  Chaine$ = ReplaceString(Chaine$, "Á", "A")
  Chaine$ = ReplaceString(Chaine$, "Â", "A")
  Chaine$ = ReplaceString(Chaine$, "Ã", "A")
  Chaine$ = ReplaceString(Chaine$, "Ä", "A")
  Chaine$ = ReplaceString(Chaine$, "Å", "A")
  Chaine$ = ReplaceString(Chaine$, "Æ", "AE")
  Chaine$ = ReplaceString(Chaine$, "Ç", "C")
  Chaine$ = ReplaceString(Chaine$, "È", "E")
  Chaine$ = ReplaceString(Chaine$, "É", "E")
  Chaine$ = ReplaceString(Chaine$, "Ê", "E")
  Chaine$ = ReplaceString(Chaine$, "Ë", "E")
  Chaine$ = ReplaceString(Chaine$, "Ì", "I")
  Chaine$ = ReplaceString(Chaine$, "Í", "I")
  Chaine$ = ReplaceString(Chaine$, "Î", "I")
  Chaine$ = ReplaceString(Chaine$, "Ï", "I")
  Chaine$ = ReplaceString(Chaine$, "Ò", "O")
  Chaine$ = ReplaceaString(Chaine$, "Ó", "O")
  Chaine$ = ReplaceString(Chaine$, "Ô", "O")
  Chaine$ = ReplaceString(Chaine$, "Ö", "O")
  Chaine$ = ReplaceString(Chaine$, "Ù", "U")
  Chaine$ = ReplaceString(Chaine$, "Ú", "U")
  Chaine$ = ReplaceString(Chaine$, "Û", "U")
  Chaine$ = ReplaceString(Chaine$, "Ü", "U")
  Chaine$ = ReplaceString(Chaine$, "Ý", "Y")
  Chaine$ = ReplaceString(Chaine$, "Þ", "P")
  Chaine$ = ReplaceString(Chaine$, "ß", "B")
  Chaine$ = ReplaceString(Chaine$, "à", "a")
  Chaine$ = ReplaceString(Chaine$, "á", "a")
  Chaine$ = ReplaceString(Chaine$, "â", "a")
  Chaine$ = ReplaceString(Chaine$, "ä", "a")
  Chaine$ = ReplaceString(Chaine$, "å", "a")
  Chaine$ = ReplaceString(Chaine$, "ç", "c")
  Chaine$ = ReplaceString(Chaine$, "è", "e")
  Chaine$ = ReplaceString(Chaine$, "é", "e")
  Chaine$ = ReplaceString(Chaine$, "ê", "e")
  Chaine$ = ReplaceString(Chaine$, "ë", "e")
  Chaine$ = ReplaceString(Chaine$, "ì", "i")
  Chaine$ = ReplaceString(Chaine$, "í", "i")
  Chaine$ = ReplaceString(Chaine$, "î", "i")
  Chaine$ = ReplaceString(Chaine$, "ï", "i")
  Chaine$ = ReplaceString(Chaine$, "ò", "o")
  Chaine$ = ReplaceString(Chaine$, "ó", "o")
  Chaine$ = ReplaceString(Chaine$, "ô", "o")
  Chaine$ = ReplaceString(Chaine$, "ö", "o")
  Chaine$ = ReplaceString(Chaine$, "ù", "u")
  Chaine$ = ReplaceString(Chaine$, "ú", "u")
  Chaine$ = ReplaceString(Chaine$, "û", "u")
  Chaine$ = ReplaceString(Chaine$, "ü", "u")
  Chaine$ = ReplaceString(Chaine$, "ý", "y")
  Chaine$ = ReplaceString(Chaine$, "þ", "p")
  Chaine$ = ReplaceString(Chaine$, "ÿ", "y")
  
  ProcedureReturn Chaine$
EndProcedure

Re: Remplacer les accent par des lèttre simple

Publié : mar. 03/mai/2011 15:36
par Mindphazer
Regarde bien la ligne 24 de ta procédure..... :?

Re: Remplacer les accent par des lèttre simple

Publié : mar. 03/mai/2011 17:17
par case
pas très optimisé quand même, a chaque fois que tu fais un replacestring pb il fait toute la chaine a la recherche de celui ci...

Re: Remplacer les accent par des lèttre simple

Publié : mar. 03/mai/2011 17:29
par Chris
C'est tellement plus simple de passer par une liste chainée. :roll:

Re: Remplacer les accent par des lèttre simple

Publié : mar. 03/mai/2011 19:50
par bombseb
ou un select....

surtout que ca ne m'étonnerais pas qu'il y ait une api pour faire ca non ?

Re: Remplacer les accent par des lèttre simple

Publié : mar. 03/mai/2011 22:58
par falsam

Code : Tout sélectionner

Procedure.s DisableAccent(Buffer.s)
  Protected i
  Protected CharToFind.s="àáâãäåçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝŸ"
  Protected CharToReplace.s="aaaaaaceeeeiiiinooooouuuuyyAAAAAACEEEEIIIINOOOOOUUUUYY"

  For i=1 To Len(CharToFind) 
   ReplaceString(Buffer, Mid(CharToFind,i,1), Mid(CharToReplace,i,1),#PB_String_InPlace, 1)
  Next
  ProcedureReturn Buffer
EndProcedure

Debug DisableAccent("Débâcher , DÉBOÎTER")


Re: Remplacer les accent par des lèttre simple

Publié : ven. 06/mai/2011 13:46
par dayvid
Merci Falsam :P