Création d'une extraction du fichier consommation edf

Bonjour

je voudrais créer un fichier pour mes consommations EDF

voila le fichier qu'on reçoit par internet je voudrais le modifier

je voudrais une colonne Date , consommation heure plein ( 6h30- 22h30) , consommation heure creuse 22h30-6h30

dans le fichier ci joint

premier feuille ( donnée par edf )

deux feuilles se que je souhaite

il faudrai reussir a mettre sur la première colonne la date

ensuite la deuxième colonne heure pleine (7h00 - 22h30)

ensuite troisième colonne heure creuse 23h00 - 6h30

ensuite quatrieme colonne totale

pouvez vous m'aider

je vous remercie a l'avance Olivcoco

8conso-edf.zip (584.07 Ko)

Bonjour à tous !

Une proposition via Power Query ?

Bonjour olivcoco, le forum,

[EDIT] : hello JFL

Pourquoi certaines dates contiennent des lignes en doublons ? (ex: 18/03, 17/03,16/03, etc..)

Les dates contiennent toutes 48 lignes de données sauf certaines qui en ont le double....

Cordialement,

Bonjour

pour les doublons je ne sais pas pourquoi c'est le fichier d'EDF mais il faut enlever les doublons

merci

Bonjour JFL

Merci votre fichier fonctionne bien

il a raison xorsankukai il y a des doublons

pouvez vous les enlever

Merci a vous deux

Bonjour à tous de nouveau !

@Xorsankukai : Hello et....excellente vigilance !

Il y a, par ailleurs, plus de 700 jours avec des plages horaires manquantes......

Nonobstant ce point, la requête modifiée pour éliminer les doublons :

let
    Source = Excel.CurrentWorkbook(){[Name="tEdf"]}[Content],
    SuppLigVides = Table.SelectRows(Source, each not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_), {"", null}))),
    GroupBy = Table.Group(
        Table.Distinct(SuppLigVides),
        {"Date"},
        {
            {"HP", each List.Sum(Table.SelectRows(Table.Skip(_),each [Date] >= 0.2916 and [Date] <= 0.9583333)[Conso])},
            {"HC", each List.Sum(Table.SelectRows(Table.Skip(_),each [Date] < 0.2916 or [Date] > 0.9583333)[Conso])}
        },
        0,
        (i,c)=> if Value.Type(c[Date])= type datetime then 1 else 0),
    AjtTotal = Table.AddColumn(GroupBy, "Total", each [HP]+[HC]),
    Types = Table.TransformColumnTypes(AjtTotal,{{"Date", type date}, {"HP", Int64.Type}, {"HC", Int64.Type}, {"Total", Int64.Type}})
in
    Types

Bonjour

Merci

a vous deux

je check si j'ai encore besoin de vous

Hello,

Une proposition PowerQuery très rapprochée de JFL, avec quelques petites différences mais qui globalement reviennent au même

@+

6conso-edf.zip (623.28 Ko)

Bonjour JFL

il y a un probleme dans mon tableau

il faudrai diviser les chiffres par deux

exemple pour le 25/3/24

00:00:00 il y a 2691 il faudrai le diviser par deux pour avoir 1345,5

idem pour tout les chiffres parce que c'est en Watt et non en WattHeure

Bonjour JFL

parce que pour transformer des Watt en wattheure il faut multiplier par 1 pour une période d'une heure

mais ici c'est toutes les 30min

mais dans le fichier edf

nous avons des watt toutes les demi heure

donc il faut diviser tous les chiffres par 2

00:00:00 -- 2691 ilm faut 1345,5

23:30:00 -- 2640 il faut 1320

23:00:00 -- 2841 il faut 1420,5

Bonjour à tous de nouveau !

Code amendé :

let
    Source = Excel.CurrentWorkbook(){[Name="tEdf"]}[Content],
    SuppLigVides = Table.SelectRows(Source, each not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_), {"", null}))),
    Division2 = Table.TransformColumns(SuppLigVides, {{"Conso", each _ / 2, type number}}),
    GroupBy = Table.Group(
        Table.Distinct(Division2),
        {"Date"},
        {
            {"HP", each List.Sum(Table.SelectRows(Table.Skip(_),each [Date] >= 0.2916 and [Date] <= 0.9583333)[Conso])},
            {"HC", each List.Sum(Table.SelectRows(Table.Skip(_),each [Date] < 0.2916 or [Date] > 0.9583333)[Conso])}
        },
        0,
        (i,c)=> if Value.Type(c[Date])= type datetime then 1 else 0),
    AjtTotal = Table.AddColumn(GroupBy, "Total", each [HP]+[HC]),
    Types = Table.TransformColumnTypes(AjtTotal,{{"Date", type date}, {"HP", Int64.Type}, {"HC", Int64.Type}, {"Total", Int64.Type}})
in
    Types

Bonjour JFL

après vérification il y a quelque probleme

il y a des jours qui sont correcte mais il y en a autres nok

le 17 mars je devrais avoir 22 472,5 mais dans votre résultat il y a 21 090 je ne comprend pas pourquoi

je renvoie le fichier qui est presque finis

je vous en remercie a l'avance

Bonjour à tous !

Le souci est lié à la mauvaise qualité de vos données.

L'élimination des doublons se faisait sur la table entière en une seule fois sur la base du fait que les couples Heure/Conso étaient forcément journaliers. Hélas non....

La requête suivante élimine les seuls doublons journaliers. Au prix, éventuellement, d'une moindre vélocité.

let
    Source = Excel.CurrentWorkbook(){[Name="tEdf"]}[Content],
    SuppLigVides = Table.SelectRows(Source, each not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_), {"", null}))),
    Division2 = Table.TransformColumns(SuppLigVides, {{"Conso", each _ / 2, type number}}),
    GroupBy = Table.Group(
        Division2,
        {"Date"},
        {
            {"HP", each List.Sum(Table.SelectRows(Table.Skip(Table.Distinct(_)),each [Date] >= 0.2916 and [Date] <= 0.9583333)[Conso])},
            {"HC", each List.Sum(Table.SelectRows(Table.Skip(Table.Distinct(_)),each [Date] < 0.2916 or [Date] > 0.9583333)[Conso])}
        },
        0,
        (i,c)=> if Value.Type(c[Date])= type datetime then 1 else 0),
    AjtTotal = Table.AddColumn(GroupBy, "Total", each [HP]+[HC]),
    Types = Table.TransformColumnTypes(AjtTotal,{{"Date", type date}, {"HP", Int64.Type}, {"HC", Int64.Type}, {"Total", Int64.Type}})
in
    Types

Bonjour à tous,

Un essai par vba......résultats à comparer avec ceux de PQ pour vérifier si ils sont cohérents,

Cordialement,

Bonjour xorsankukai

je n'arrive pas a faire fonctionner votre macro ça bloque

je suis désoler

capture d ecran 2024 03 27 a 15 49 40

Bonjour a tous

un grand Merci a vous tous

je vous envoye le fichier finis

`c'est un comparateur des tarifs EDF 2024

je compare d'avril 2023 à Mars 2024 avec les tarifs 2024

Bonjour à tous de nouveau !

Bien ...

Je vous remercie de ce retour.

------> Ne pas oublier de passer le sujet en mode résolu !

Re,

je n'arrive pas a faire fonctionner votre macro ça bloque

Tu n'as pas précisé que tu étais sous MAC....l'object Dictionary n'est pas compatible....

Tu peux virer la ligne car du coup, je ne l'ai pas utilisé....j'ai procédé autrement...

Si ce n'est toujours pas bon, tu devras te contenter des solutions PQ,

Cordialement,

Rechercher des sujets similaires à "creation extraction fichier consommation edf"