Power Query FONCTION SI (sans rajouter une colonne conditionnelle)

Moi69

XLDnaute Occasionnel
Bonjour

Je reviens vers vous pour encore une question sur power query.
Dans le fichier joint, je souhaiterai que le contenu de la colonne B qui contient le texte "TARIF PMBQ2 2023" soit remplacer par "24V" si dans la colonne A la référence commence par 24V, par "48V" si dans la colonne A la référence commence par 48V et par "80V" si la référence commence par 80V, par contre si la colonne A ne commence par aucune de ces références, le contenu de la B ne doit pas changer.
Comme d'habitude, je ne suis pas sûr d'avoir été très clair alors n'hésitez pas à revenir vers moi si vous voulez plus de précision.
Par avance merci
 

Pièces jointes

  • POWER QUERY SI.xlsx
    21.2 KB · Affichages: 7

Cousinhub

XLDnaute Barbatruc
Bonjour,
Avec ce code, peut-être?
PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    RemplVal = Table.ReplaceValue(Source,each if [Attribut] ="TARIF PMB#(lf)Q2 2023" then [Attribut] else false, each Text.Start([TYPE],3),Replacer.ReplaceText,{"Attribut"})
in
    RemplVal
 

chris

XLDnaute Barbatruc
Bonjour à tous
Dans le fichier joint, je souhaiterai que le contenu de la colonne B qui contient le texte "TARIF PMBQ2 2023" soit remplacer par "24V" si dans la colonne A la référence commence par 24V, par "48V"
Pourquoi ne pas repartir de la requête initiale : là tu balances un extrait qui est de toute évidence une copie d'une étape de requête et la modif n'est pas forcément à faire à ce niveau de la requête...
 

Cousinhub

XLDnaute Barbatruc
Re-,
Hello Chris
là tu balances un extrait qui est de toute évidence une copie d'une étape de requête et la modif n'est pas forcément à faire à ce niveau de la requête...
Je m'étais fait la même réflexion, mais comme il n'avait pas daigné mettre la moindre requête, je lui ai juste donné la ligne de code.
A lui d'adapter
Bonne journée
PS, code "diminué"
PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    RemplVal = Table.ReplaceValue(Source,"TARIF PMB#(lf)Q2 2023", each Text.Start([TYPE],3),Replacer.ReplaceText,{"Attribut"})
in
    RemplVal
 
Dernière édition:

Moi69

XLDnaute Occasionnel
Bonjour

Merci pour vos retours qui vont m'aider.
Je n'ai pas mis les requêtes car ça ne m'a pas semblé judicieux mais maintenant que vous le dites, c'est vrai que ça aurait été bien.
Ma source est un PDF avec 3 tableaux différents dessus. Enfin, 2 ont la même forme (5 colonnes) et le 3ème (celui qui me donne TARIF PMB Q2 2023) que 2 colonnes.
Une fois mes mises en forme des tableaux, je rajoute mes 3 requêtes pour n'en faire qu'une puis je mets cette requête
= Table.UnpivotOtherColumns(#"Requête ajoutée", {"TYPE"}, "Attribut", "Valeur")
qui me permet d'avoir mes 3 colonnes.
C'est à cet étape qu'arrive mon problème.
Je vais regarder si je peux faire des modifs avant cet étape, car la solution donnée ne fonctionne pas sur mon tableau, et je reviens vers vous maintenant que j'ai une piste.
Encore merci
 

Moi69

XLDnaute Occasionnel
Bonjour,

Je comprends ton dernier commentaire Chris, mais en fait ce n'est qu'un extrait le fichier que j'ai mis en PJ car il comporte plus de colonne.
Je voulais juste savoir comment faire afin que je puisse reproduire la formule sur le tableau final.
Sinon, j'ai suivi votre conseil, j'ai fait ma modif en début et c'est bon.
Je vous remercie pour vos réponses en tout cas.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote