[Expert] Match Export CSV sans accent

#1 Fonction FnSansAccents

Ajouter dans une requête vide powerquery la fonction suivante et la nommer "FnSansAccents":

image

(texte as nullable text) as nullable text =>
let
    // Liste des caractères accentués et leur équivalent
    Source = "àáâãäåçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝŸ",
    Cible  = "aaaaaaceeeeiiiinooooouuuuyyAAAAAACEEEEIIIINOOOOOUUUUYY",
    
    // Processus de remplacement caractère par caractère
    Resultat = if texte = null then null else List.Accumulate(
        {0..Text.Length(Source)-1}, 
        texte, 
        (state, current) => Text.Replace(state, Text.At(Source, current), Text.At(Cible, current))
    )
in
    Resultat

#2 Requête URL_SAL

Changer la requête URL_SAL pour neutraliser tous les accents en remplaçant l'intégralité du contenu de la requête avec ce code : 

let
    // --- Définition de la fonction de nettoyage (interne) ---
    FnSansAccents = (texte as nullable text) as nullable text =>
        let
            Source = "àáâãäåçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝŸ",
            Cible  = "aaaaaaceeeeiiiinooooouuuuyyAAAAAACEEEEIIIINOOOOOUUUUYY",
            Resultat = if texte = null then null else List.Accumulate(
                {0..Text.Length(Source)-1}, 
                texte, 
                (state, current) => Text.Replace(state, Text.At(Source, current), Text.At(Cible, current))
            )
        in
            Resultat,

    // --- Ta requête d'origine ---
    Source = Csv.Document(AzureStorage.BlobContents("https://pkstdataeuwdls01.blob.core.windows.net/lake/p/sharepoint/salarie.csv?sp=r&st=2024-02-21T11:15:32Z&se=2026-09-30T18:15:32Z&spr=https&sv=2022-11-02&sr=b&sig=o6h4J5PW8dxw7T6en3qBhKqJXdANLNV%2Fq3%2BKa2%2FcEPo%3D"),[Delimiter=",", Columns=14, Encoding=65001, QuoteStyle=QuoteStyle.None]),
    #"En-têtes promus" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    #"Colonnes supprimées" = Table.RemoveColumns(#"En-têtes promus",{""}),
    #"Type modifié avec paramètres régionaux" = Table.TransformColumnTypes(#"Colonnes supprimées", {{"ClePersonne", Int64.Type}}, "en-US"),

    // --- Application sur les colonnes NOM et PRENOM ---
    #"Accents Supprimés" = Table.TransformColumns(
        #"Type modifié avec paramètres régionaux", 
        {
            {"Nom", FnSansAccents, type text}, 
            {"Prenom", FnSansAccents, type text}
        }
    )
in
    #"Accents Supprimés"

#3 Requête export_csv

Ajouter la fonction dans la requête "export_csv". Apres avoir identifier l'étape "Texte en majuscule" et "Requête fusionnées", remplacer les deux étapes par ce bloc de code : 

image

    //
    #"Texte en majuscules" = Table.TransformColumns(#"Colonnes permutées",{{"Nom", Text.Upper, type text}, {"Valeur", Text.Upper, type text}}),
    #"Ajout Nom sans accent" = Table.AddColumn(#"Texte en majuscules", "NomSansAccent", each 
        let 
            Source = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝŸ", 
            Cible  = "AAAAAACEEEEIIIINOOOOOUUUUYY" 
        in 
            List.Accumulate({0..Text.Length(Source)-1}, [Nom], (state, current) => Text.Replace(state, Text.At(Source, current), Text.At(Cible, current))), type text),

    #"Requêtes fusionnées" = Table.NestedJoin(#"Ajout Nom sans accent", {"NomSansAccent"}, Salariés, {"NomPrenom"}, "sal_id_nom", JoinKind.LeftOuter),
    //