Bonjour,
Quelle formule sous Calc permet de supprimer la diacritique d'un texte, typiquement pour créer des noms de login à partir de noms-prénoms avec accents ?
Merci
Bonjour,
Quelle formule sous Calc permet de supprimer la diacritique d'un texte, typiquement pour créer des noms de login à partir de noms-prénoms avec accents ?
Merci
Bsr,
Voici une fonction Excel traduite
Rem Attribute VBA_ModuleType=VBAModule
Option VBASupport 1
Option Explicit
Function MajSansAccent$(ByVal Chaine$)
'Ti
Const VAccent = "àáâãäåéêëèìíîïðòóôõöùúûüç ", VSsAccent = "aaaaaaeeeeiiiioooooouuuuc-"
Dim Bcle&
For Bcle = 1 To Len(VAccent)
Chaine = Replace(Chaine, Mid(VAccent, Bcle, 1), Mid(VSsAccent, Bcle, 1))
Next Bcle
MajSansAccent = LCase(Chaine)
End Function
----- Mail original -----
De: "Andriant Sandy" <andriant.sandy@gmail.com>
À: users@fr.libreoffice.org
Envoyé: Mercredi 3 Juin 2020 23:50:22
Objet: Re: [fr-users] Formule pour supprimer la diacritiqueBsr,
Voici une fonction Excel traduite
Rem Attribute VBA_ModuleType=VBAModule
Option VBASupport 1
Option Explicit
Function MajSansAccent$(ByVal Chaine$)
'Ti
Const VAccent = "àáâãäåéêëèìíîïðòóôõöùúûüç ", VSsAccent =
"aaaaaaeeeeiiiioooooouuuuc-"
Dim Bcle&
For Bcle = 1 To Len(VAccent)
Chaine = Replace(Chaine, Mid(VAccent, Bcle, 1), Mid(VSsAccent,
Bcle, 1))
Next Bcle
MajSansAccent = LCase(Chaine)
End Function
bonjour,
pourquoi vouloir limiter la fonction alors que vous
ne couvrez pas le spectre des caractères à modifier ?
par conséquent le script en question n'est pas convenablement
exploitable si vous avez du Polonais ou du Tchèque en caractère
car ce sont également les consonnes qui contiennent des accents
et autres caractères ....
je pressent qu'il faille employer une autre solution en travaillant
à plat à partir du format csv ...
je me base principalement sur cette documentation :
https://www.postgresql.org/docs/9.1/unaccent.html
et la solution existe en Perl et est exploitable
également quelque soit le système d'exploitation:
https://metacpan.org/pod/Text::Unaccent::PurePerl
merci pour votre aimable attention
bien à vous
bernard
Bonjour,
De: "Andriant Sandy" <andriant.sandy@gmail.com>
Envoyé: Mercredi 3 Juin 2020 23:50:22Voici une fonction Excel traduite
Const VAccent = "àáâãäåéêëèìíîïðòóôõöùúûüç ", VSsAccent =
bonjour,
pourquoi vouloir limiter la fonction alors que vous
ne couvrez pas le spectre des caractères à modifier ?
Qui vous dit que ce choix est une "volonté" ??
Peut-être cette proposition représente-t-elle ce que sait faire cet utilisateur de bureautique ?
par conséquent le script en question n'est pas convenablement
exploitable si vous avez du Polonais ou du Tchèque en caractère
car ce sont également les consonnes qui contiennent des accents
et autres caractères ....
Cela peut être déjà suffisant pour répondre au besoin du demandeur, et surtout, merci à lui d'avoir partagé cette solution !!
Par conséquent cela répond à mon besoin et c'est tellement plus agréable que des commentaires qui critiquent mais ne donnent pas de solution.
merci pour votre aimable attention
Itou
Bonjour Bernard,
Une fois qu'on a la méthode l'adaptation est bien facile.
Cette formule est dispo pour le français. Libre à chacun d'y ajouter tous les caractères supplémentaire de la langue qu'il veut tant qu'il respecte la correspondance dans les 2 formules.
On peut même y ajouter les caractères spéciaux à la manière de l'espace qui est remplacée dans cette fonction par le tiret du 6.
Sandy-Pascal
Bonjour Stéphane,
C'est moche, mais une fois j'avais fait cela :
=SUBSTITUE(SUPPRESPACE(REGEX(REGEX(REGEX(REGEX(REGEX(REGEX(REGEX(REGEX(REGEX(MINUSCULE(A1);"æ";"ae";"g");"œ";"oe";"g");"[òóôõö]";"o";"g");"[ùúûüũ]";"u";"g");"ç";"c";"g");"[àáãâä]";"a";"g");"[éèêëẽ]";"e";"g");"[ìíîïĩ]";"i";"g");"[^a-zA-Z0-9]";" ";"g"));" ";"-")
Ceci
- met tout en minuscules
- enlève les accent grave, aigu, circonflexe, les trémas et les tildes sur toutes les lettres
- remplace æ et œ par ae et oe
- remplace tout ce qui n'est pas une lettre par un tiret -
La même formule en pièce jointe, au cas ou certains caractères passent mal dans le corps du mail.
Olivier
J'ai oublié la pièce jointe, la voici :-[
----- Mail original -----
De: "lilive" <lilivve@yahoo.fr>
À: "Liste libOo" <users@fr.libreoffice.org>
Envoyé: Jeudi 4 Juin 2020 11:48:03
Objet: Re: [fr-users] Formule pour supprimer la diacritiqueJ'ai oublié la pièce jointe, la voici :-[
bonjour,
avec GnuSed c'est possible de faire le tout en une fois
sed -i 's/\(.*\)/\L\1/' input.txt
merci pour votre aimable attention
bien à vous
Bernard