XL 2019 Chaine de caractère avec Power Query

jeanyves31

XLDnaute Nouveau
Bonjour
Je suis en train d'importer un fichier (qui provient d'une caisse de magasin)
La chaine de caractere est la suivante : "M41110000VC000301020" je doit dons isoler la date, le 6 derniers caracteres donc "301020"

J'ai créer une colonne personalisé avec la fonction suivante: "=Text.End([Column1],6)" . A ce stade j'ai un chaine de type "n'importe lequel", que je veux transformer en date, "30/10/2020"
J'ai essayé de transformer en text, puis en format date : erreur
Directement en date : erreur

J'ai essayé de créer une autre colonne personalisé, en insérant la fonction suivante:"=Text.Insert([Date1],4,"20")" pour avoir 30102020, idem même probleme

Est ce quelqu'un a une idée pour solutionner mon problème...
Merci
Jean Yves
 
Solution
Bonjour,

Il y a plusieurs solutions en utilisant notamment l'interface du ruban

Vous avez ajouté votre colonne "jjmmaaaa"
Je pars du principe que vous savez comment Extraire et diviser cette colonne pour avoir jj mm et aaaa dans 3 colonnes différentes
Puis fusionnez les 3 colonnes avec le délimiteur "/" pour obtenir jj/mm/aaaa

P.S : il faut supprimer les étapes au format Texte "Type modifié" qui sont créés automatiquement par Power query sauf la dernière qui devrait être au format "Date"

Cordialement

Amilo

XLDnaute Accro
Bonjour,

Il y a plusieurs solutions en utilisant notamment l'interface du ruban

Vous avez ajouté votre colonne "jjmmaaaa"
Je pars du principe que vous savez comment Extraire et diviser cette colonne pour avoir jj mm et aaaa dans 3 colonnes différentes
Puis fusionnez les 3 colonnes avec le délimiteur "/" pour obtenir jj/mm/aaaa

P.S : il faut supprimer les étapes au format Texte "Type modifié" qui sont créés automatiquement par Power query sauf la dernière qui devrait être au format "Date"

Cordialement
 
Dernière édition:

chris

XLDnaute Barbatruc
Bonjour à tous

Une solution simple avec la colonne ici nommée truc
VB:
    #"Type modifié" = Table.TransformColumnTypes(Source,{{"truc", type text}}),
    #"Fractionner la colonne par position" = Table.SplitColumn(#"Type modifié", "truc", Splitter.SplitTextByRepeatedLengths(14), {"truc.1", "truc.2"}),
    #"Fractionner la colonne par position1" = Table.SplitColumn(#"Fractionner la colonne par position", "truc.2", Splitter.SplitTextByRepeatedLengths(2), {"truc.2.1", "truc.2.2", "truc.2.3"}),
    #"Colonnes fusionnées" = Table.CombineColumns(#"Fractionner la colonne par position1",{"truc.2.1", "truc.2.2", "truc.2.3"},Combiner.CombineTextByDelimiter("/", QuoteStyle.None),"Date"),
    #"Type modifié1" = Table.TransformColumnTypes(#"Colonnes fusionnées",{{"Date", type date}})
Edit : par rafraichi mais même principe qu'Amilo
 

Discussions similaires