Power Query Variabiliser automatiquement une source de données PQ selon l’utilisateur

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Alexis123456

XLDnaute Nouveau
Bonjour à tous,

Après des semaines de recherche, vous êtes mon dernier espoir.

Je souhaite que Power Query modifie automatiquement une source de données selon l’utilisateur qui ouvre le fichier Excel.

En l’état, voici le code utilisé, et qui fonctionne normalement, mais seulement en ouvrant le tableur depuis mon pc :
  • au niveau du code pour la Source :
= Csv.Document(File.Contents("C:\Users\Ensolfina-22\Ensolfina Dropbox\Dossier de l'équipe Ensolfina\Ensolfina\00. Support\Comptabilité\_YRU\_YRU\FICHIERS SOURCES\Classeur source Ventes GestCom.CSV"),[Delimiter=";", Columns=18, Encoding=1252, QuoteStyle=QuoteStyle.None])

  • au niveau du code affiché dans l’éditeur avancé :
let
Source = Csv.Document(File.Contents("C:\Users\Ensolfina-22\Ensolfina Dropbox\Dossier de l'équipe Ensolfina\Ensolfina\00. Support\Comptabilité\_YRU\_YRU\FICHIERS SOURCES\Classeur source Ventes GestCom.CSV"),[Delimiter=";", Columns=18, Encoding=1252, QuoteStyle=QuoteStyle.None]),
#"En-têtes promus" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
#"Type modifié" = Table.TransformColumnTypes(#"En-têtes promus",{{"Créateur", type text}, {"Etablissement", type text}, {"Date", type date}, {"N° Facture", type text}, {"N° Client", type text}, {"Dénomination", type text}, {"Code postal de livraison", type text}, {"Ville livraison", type text}, {"Pays de livraison", type text}, {"Etat", type text}, {"Mode de règlement", type text}, {"Total HT", type number}, {"Total TTC", type number}, {"Statut paiement", type text}, {"Responsable", type text}, {"Echéance", type date}, {"Pôle d'activité", type text}, {"Commentaires non imprimables", type text}})
in
#"Type modifié"


Mon nom d’utilisateur est « Ensolfina-22 » et ce n’est que cette partie qui doit s’automatiser.

Je vous remercie tous par avance.

PS : j’ai le niveau d’un nouveau-né en PQ, idem pour VBA.
 
Bonjour

Il suffit de découper (comme dans une formule Excel de concaténation
Source = Csv.Document(File.Contents("C:\Users\" & Ensolfina-22 &"\Ensolfina Dropbox\Dossier de l'équipe Ensolfina\Ensolfina\00. Support\Comptabilité\_YRU\_YRU\FICHIERS SOURCES\Classeur source Ventes GestCom.CSV"),[Delimiter=";", Columns=18, Encoding=1252, QuoteStyle=QuoteStyle.None]),

Mais la question est où récupères-tu le nom de l'utilisateur ?

Si ce doit être automatique selon l'utilisateur connecté au PC

voici une fonction
VB:
() =>
let
    Source = Folder.Contents("C:\Users\"),
    #"Expanded Attributes" = Table.ExpandRecordColumn(Source, "Attributes", {"Hidden", "Directory", "ChangeTime"}, {"Hidden", "Directory", "ChangeTime"}),
    #"Filtered Directories not hidden" = Table.SelectRows(#"Expanded Attributes", each ([Directory] = true) and ([Hidden] = false)),
    #"Removed Errors" = Table.RemoveRowsWithErrors(#"Filtered Directories not hidden", {"ChangeTime"}),
    #"Filtered Rows" = Table.SelectRows(#"Removed Errors", each ([Name] <> "Public")),
    #"Username" = #"Filtered Rows"{0}[Name]
in
    #"Username"
à nommer Fx_UserName
puis remplace dans mon 1er exemple
& Ensolfina-22 &
par & Fx_UserName() &
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Power Query Power Query
Réponses
26
Affichages
412
  • Question Question
Réponses
16
Affichages
1 K
Réponses
2
Affichages
588
Retour