virer les accents

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

virer les accents

Messagepar yop » 04 Août 2003 à 15:29

je cherche un code lotusscript pour virer les accents dans un champ.ex : äurély devient aurely
yop
 

Re: virer les accents

Messagepar Nathou » 04 Août 2003 à 15:40

Salut!Si tu arrives a mettre ton texte en majuscule puis en minuscule, c peut etre gagné...Nathou
Nathou
 

Re: virer les accents

Messagepar yop » 04 Août 2003 à 15:43

je pense que é va devenir E (majuscule accentuée)
yop
 

Re: virer les accents

Messagepar Sylvain » 04 Août 2003 à 16:27

ben le plus sur c'est d'utiliser une fonction de subtitution de caractere mais tu dois te palucher la liste à la main.[%sig%]
Avatar de l’utilisateur
Sylvain
Maître-posteur
Maître-posteur
 
Message(s) : 473
Inscrit(e) le : 16 Déc 2004 à 00:20
Localisation : Rennes

Re: virer les accents

Messagepar Droad » 04 Août 2003 à 16:37

2 possibilités rapides:texte = "Äurélie"ev = Evaluate(|@LowerCase(@UpperCase("|+texte+|"))|)Messagebox ev(0) ev = Evaluate(|@Ascii("|+texte+|")|)Messagebox ev(0)Problèmes: la 1ère formule met tout en minuscule, la deuxième transformeles caractères non-ascii en "?"[%sig%]
Droad
 

Re: virer les accents

Messagepar Stephane Maillard » 04 Août 2003 à 18:40

Bonjour,Peut être avec ceci :public function RemplaceCaractereParUnAutre(strChaineOriginal as string, strTrouveCaractere as string, strRemplaceAvec as string) as stringDim lngPosition as longDim lngPosition2 as longDim strTemporaire as stringDim lngTrouveCaractere as long' Si une se produit on fait un sauton error goto Err_RemplaceCaractereParaAutre' Longueur du caractère à trouvélngTrouveCaractere = len(strTrouveCaractere)lngPosition2 = 1strTemporaire = strChaineOriginaldo lngPosition = instr(lngPosition2, strChaineOriginal, strTrouveCaractere) if lngPosition = 0 then ' Si on ne trouve aucun caractère correspondant... exit do ' On quitte la boucle Else if lngPosition > 1 then strTemporaire = left$(strChaineOriginal, lngPosition - 1) else strTemporaire = strTemporaire & strRemplaceAvec strTemporaire = strTemporaire & mid$(strChaineOriginal, lngPosition + lngTrouveCaractere, len(strChaineOriginal) - (lngPosition + lngTrouveCaractere -1)) strTemporaire = strChaineOriginal end if end if lngPosition2 = lngPosition + 1loopRemplaceCaractereParUnAutre = Trim(strTemporaire)exit functionErr_RemplaceCaractereParaAutre: MessageBox "Erreur numéro: " & Str(Err) & Chr(10) & Chr(13) & "Description: " & Error$, 16, "Erreur: RemplaceCaractereParUnAutre"endExemple :Ceci est une fonction à mettre dans une bibliothèque de script.Cette fonction permet de remplacer un, ou une série de, caractère par un autre.Exemple : un '_' (underscore) par un ' ' (espace)' La fonction prend pour valeur 'Test'call RemplaceCaractereParUnAutre("Test______", "_", " "), il est possible de retirer le Trim pour conserver les espaces.' strChaineDeCaractere prend pour valeur 'Re-testççççççç'strChaineDeCaractere = RemplaceCaractereParUnAutre("Re-testééééééé", "é", "ç")[%sig%]
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Re: virer les accents

Messagepar Droad » 04 Août 2003 à 19:18

Voila, voila ...Function Desaccentuer(texte As String) As String Dim t As String, c1 As String*1, x As String*1, c2 As Variant Dim i As Integer t = Space$(Len(texte)) For i=1 To Len(texte) c1 = Mid$(texte, i, 1) If c1=|"| Or c1=|?| Or c1="\" Or c1="'" Then x = c1 Else c2 = Evaluate(|@Ascii("|+c1+|")|) If c2(0)="?" Or c2(0)="" Then x=c1 Else x=c2(0) End If End If Mid$(t, i, 1) = x Next Desaccentuer = tEnd Function[%sig%]
Droad
 

Re: virer les accents

Messagepar yop » 05 Août 2003 à 10:14

merci :)
yop
 


Retour vers Développement

cron