Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 POWER QUERY : problème "error" sur chiffre plus grand que 999

laurabachau

XLDnaute Nouveau
Bonjour à tous,

Je une source de données dans PQ qui arrive en lettre, je fais mes modifications mais je n'arrive pas a afficher les éléments comme je le veux ( cf photo 3)

Voici le code
VB:
let
    Source = Excel.Workbook(File.Contents(blablaxxxx"), null, true),
    Worksheet_Sheet = Source{[Item="Worksheet",Kind="Sheet"]}[Data],
    #"En-têtes promus" = Table.PromoteHeaders(Worksheet_Sheet, [PromoteAllScalars=true]),
    #"Lignes filtrées" = Table.SelectRows(#"En-têtes promus", each ([Statut] <> "Annulé")),
    #"Colonnes renommées" = Table.RenameColumns(#"Lignes filtrées",{{"Date d'échéance", "Date Ech"}, {"Total (TTC)", "Total(TTC)"}}),
    #"Type modifié" = Table.TransformColumnTypes(#"Colonnes renommées",{{"Id", Int64.Type}, {"Document", type text}, {"N° de document", type text}, {"Id Opportunité", Int64.Type}, {"Opportunité", type text}, {"Date", type date}, {"Date Ech", type date}, {"Client", type text}, {"Total (HT)", Currency.Type}, {"Total(TTC)", Currency.Type}, {"Total TVA", Currency.Type}, {"Statut", type text}})

in

#"Type modifié"

Je pense que cela vient du fait que il y a un espace sur les chiffres 2 000 au lieux de 2000 car cela fonctionne jusqu'à 999 (cf photos)
J'ai essayé de transformer le type de donné en devise, en nombre décimal, en nombre entier et rien.
J'ai aussi fais > Format > Supprimer les espaces
je ne sais plus quoi faire, j'aimerai obtenir les données comme sur l'image 3





merci pour votre précieuse aide
 

Cousinhub

XLDnaute Barbatruc
Inactif
Bonjour,
Ce n'est pas un espace normal, mais un espace insécable (sous Excel, c'est le caractère 160, sous PQ, le caractère #(00A0)
Sélectionne les colonnes contenant ce type de données
Transforme-les en "Texte"
Puis Remplace ce caractère par rien, attention, il faut que ce soit bien Replacer.ReplacerText (et non Value)
Puis transforme en number...

PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    #"Type modifié" = Table.TransformColumnTypes(Source,{{"Total", type text}}),
    #"Valeur remplacée" = Table.ReplaceValue(#"Type modifié","#(00A0)","",Replacer.ReplaceText,{"Total"}),
    #"Type modifié1" = Table.TransformColumnTypes(#"Valeur remplacée",{{"Total", type number}})
in
    #"Type modifié1"

Bon courage
 

Discussions similaires

Réponses
16
Affichages
926
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…