Accueil – Le CFO masqué › Forums › Power Query › Diviser une cellule sur Power Query
- Ce sujet contient 2 réponses, 3 participants et a été mis à jour pour la dernière fois par
Daniel, le il y a 2 semaines et 5 jours.
-
AuteurMessages
-
27 mars 2025 à 8 h 35 min #151381
princessefiona_57
ParticipantBonjour,
Je souhaiterais diviser ma cellule quand il y a certains critère.
J’ai réussi à le faire sur Excel avec une formule complexe (colonne G “Test formule” du 1er tableau), mais je n’arrive pas à le transposer sur Power Query.
En cellule C29, j’ai cette donnée : BL2411444/45/46. mon but est de rajouter 3 lignes avec chacun leur n° de BL associé soit dans ce cas BL2411444, BL2411445 & BL2411446 tout en gardant les autre s infos de la ligne initiale. Je ne sais pas si c’est possible. j’ai essayé en appelant une fonction personnalisée, mais ca ne fonctionne pas.
Merci d’avance de votre aide.
Bonne journéeAttachments:
You must be logged in to view attached files.27 mars 2025 à 9 h 04 min #151384Sylvain Thibeault
ParticipantBonjour,
Voici une solution possible.
Table 1
1- Fractionner la colonne numéro de BL à l’aide du délimiteur qui est “/”.
Nous aurons alors 2 nouvelles colonnes, soit colonne 1 avec le 45 et la colonne 2 avec le 462- Création d’une autre table qui fait référence à la table 1 et conserver les valeurs non vides de la colonne 1.
3- Ajout d’une nouvelle colonne en fusionnant les 7 premiers caractères de ta colonne numéro de BL avec la colonne 1.
4- Supprimer la colonne numéro de BL contenant le numéro BL2411444 et celle contenant le numéro 46.
5- Renommer la nouvelle colonne “numéro de BL”
6- Tu refais les étapes 2 à 5 mais pour la colonne 2 qui contient le 46.
7- Au total tu auras 3 tables temporaires.
8- Combiner les 3 tables à l’aide de Ajouter des requêtes comme étants nouvelles.
9- Dans la nouvelle table, conserver les 9 premiers caractères de ta colonne numéro de BL.Donc en gros dans la section requête de Query tu aurais ceci
Tables temporaires
-Table 1 avec le numéro de BL d’origine BL2411444/45/46
-Table 2 avec le numéro de BL BL2411445
-Table 3 avec le numéro de BL 2411446Table finale
Table 4 (Table 1+2+3)Bonne jounée
27 mars 2025 à 11 h 10 min #151388Daniel
ParticipantBonjour princessefiona_57, le Forum,
Voici une proposition qui je l’espère vous donnera le résultat attendu ou vous donnera des pistes d’investigation pour résoudre votre problème.
Suis parti du tableau_Test comme base de travail à adapter dans le code si pas la bonne source.let
Source = Excel.CurrentWorkbook(){[Name=”Tableau_Test”]}[Content],
ModificationTypeDonnees = Table.TransformColumnTypes(Source,{{“N° d’expé”, type text}, {“Date d’expé”, type date}, {“N° BL”, type text}, {“Expéditeur”, type text}, {“Destinataire”, type text}, {“CP”, type any}, {“Localité”, type text}, {“Pays”, type text}, {“UM”, Int64.Type}, {“Poids “, Int64.Type}, {“Date livraison”, type date}}),
FractionnerColBL7PremiersCaracteres = Table.SplitColumn(ModificationTypeDonnees, “N° BL”, Splitter.SplitTextByPositions({0, 7}, false), {“N° BL.1”, “N° BL.2”}),
ModificationTypeDonnesColBL = Table.TransformColumnTypes(FractionnerColBL7PremiersCaracteres,{{“N° BL.1”, type text}, {“N° BL.2”, type text}}),
FractionnerColBLParDelimiteur = Table.ExpandListColumn(Table.TransformColumns(ModificationTypeDonnesColBL, {{“N° BL.2”, Splitter.SplitTextByDelimiter(“/”, QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), “N° BL.2″),
#”AjoutColonne NoBL” = Table.AddColumn(FractionnerColBLParDelimiteur, “No BL”, each if Text.Length([#”N° BL.2″]) < 3 then [#”N° BL.1″] &Text.PadStart(“0″,3-Text.Length([#”N° BL.2″])) & [#”N° BL.2″] else [#”N° BL.1″] & [#”N° BL.2″]),
PermutationColNoBL = Table.ReorderColumns(#”AjoutColonne NoBL”,{“N° d’expé”, “Date d’expé”, “N° BL.1”, “N° BL.2”, “No BL”, “Expéditeur”, “Destinataire”, “CP”, “Localité”, “Pays”, “UM”, “Poids “, “Date livraison”}),
SuppressionColsInutiles = Table.RemoveColumns(PermutationColNoBL,{“N° BL.1”, “N° BL.2”})
in
SuppressionColsInutilesCordialement
DanielAttachments:
You must be logged in to view attached files. -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.