Microsoft 365 copier coller en changeant la disposition et plage de donnees variable

  • Initiateur de la discussion Initiateur de la discussion cg1980
  • Date de début Date de début

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 !

cg1980

XLDnaute Occasionnel
Hello
une question a vous poser. J 'ai 2 fichiers (un fichier source et le fichier modele). La plage du fichier source peut varier d'une fois à l 'autre

Mon but est de prendre les donnees du fichier source et les copier dans le fichier modele mais la disposition change.

J ai mis des couleurs pour voir les correspondance de données. Dans le fichier source, les donnees sont sur une ligne et ensuite elles sont sur 2 lignes dans le fichier Modelle
Pour chaque numero de compte (ou ligne dans le fichier source, je devrais repeter ce copier coller).

Les donnees sont copier en valeur sans formule.
Si quelqu'un peut m'aider, je le remercie infiniment
Claudio
 

Pièces jointes

Bonjour cg1980, le forum,

Une solution avec PowerQuery qui arrive à ce résultat :
Image1.png


Il faut juste adapter l'emplacement du fichier source.xlsx dans l'étape Source.
PowerQuery:
let
    Source = Excel.Workbook(File.Contents("C:\...\source.xlsx"), null, true),
    Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
    PremièresLignesSupprimées = Table.Skip(Sheet1_Sheet,2),
    FiltreNonNull = Table.SelectRows(PremièresLignesSupprimées, each ([Column1] <> null)),
    ColonneAjoutée_Records = Table.AddColumn(FiltreNonNull, "Records", each {[#"Account no."=_[Column1], #"Buy / Sell"=_[Column4], Currency=_[Column2], Amount=Number.Abs(Number.From(_[Column5])), Against=_[Column9], #"Value date / Maturity"=_[Column3]],
                                                                             [#"Account no."=null, #"Buy / Sell"=_[Column7], Currency=_[Column2], Amount=Number.Abs(Number.From(_[Column5])), Against=_[Column9], #"Value date / Maturity"=_[Column6]],
                                                                             [#"Account no."=null, #"Buy / Sell"=null, Currency=null, Amount=null, Against=null, #"Value date / Maturity"=null]}),
    AutresColonnesSupprimées = Table.SelectColumns(ColonneAjoutée_Records,{"Records"}),
    ListesDéveloppées_Records = Table.ExpandListColumn(AutresColonnesSupprimées, "Records"),
    ColonneDéveloppée_Records = Table.ExpandRecordColumn(ListesDéveloppées_Records, "Records", {"Account no.", "Buy / Sell", "Currency", "Amount", "Against", "Value date / Maturity"}, {"Account no.", "Buy / Sell", "Currency", "Amount", "Against", "Value date / Maturity"}),
    TypesModifiés = Table.TransformColumnTypes(ColonneDéveloppée_Records,{{"Value date / Maturity", type date}, {"Against", type text}, {"Amount", Currency.Type}, {"Currency", type text}, {"Buy / Sell", type text}, {"Account no.", type text}})
in
    TypesModifiés

A+
 
- 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

Réponses
6
Affichages
858
Réponses
7
Affichages
733
Retour