Formule pour supprimer la diacritique

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 diacritique

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

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:22

Voici 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 diacritique

J'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