Conversion données pas de temps 30sec à horaire

Bonjour,

Je fais appel à vous car j'ai un tableur avec une colonne date dans un format spécial que je ne peux pas modifier.

Ces données sont au pas de temps 30 sec et j'aimerais les faire afficher sur un graphique au pas de temps horaire (moyenne des données toutes les 120 lignes).

Je pensais dans un premier temps faire un tableau croisé dynamique mais le format de date ne fonctionne pas.

Auriez vous une solution à me proposer avec ou sans VBA, je suis ouvert à toute proposition (modification de la colonne A pour en faire une date ==> TCD ou moyenne glissante avec VBA ?).

D'avance merci pour votre aide,

Bien cordialement,

Bonjour,

Une proposition avec Power Query.

Cordialement.

bonjour Zebulon2,MAVERICK39,

une formule pour converser votre date

=--GAUCHE(SUBSTITUE(A2;"T";" ");18)

sorry, la feuille est 2MB, donc trop lourd, je suppose qu'avec cette formule vous savez vous débrouiller ?

Bonjour,

Merci pour vos retours.

@Zebulon, votre fichier fonctionne correctement, pourriez vous m'expliquer comment vous avez fait (les différentes étapes) que je sache refaire de mon côté pour d'autres fichiers ?

@BsAlv, merci pour la proposition, j'avais essayé quelque chose de similaire mais je n'ai pas réussi à faire comprendre à Excel que la colonne A était une date avec jour et heure

Re,

Si le fichier a la même ergonomie, dans le classeur :

Onglet Données, Récupérer et transformer les données, Obtenir des données, A partir d'autres sources, Requête vide,

Ouverture de la fenêtre Power Query,

Accueil, Requêtes, Éditeur avancé, copier, en lieu et place des données présentes, la requête suivante en remplaçant Tableau1 par le nom du tableau utilisé

let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    #"Fractionner la colonne par délimiteur" = Table.SplitColumn(Source, "Date", Splitter.SplitTextByDelimiter("T", QuoteStyle.Csv), {"Date", "Temps"}),
    #"Premiers caractères insérés" = Table.AddColumn(#"Fractionner la colonne par délimiteur", "Heures", each Text.Start([Temps], 2), type time),
    #"Lignes groupées" = Table.Group(#"Premiers caractères insérés", {"Date", "Heures"}, {{"Puissance", each List.Average([Puissance 30sec]), type number}}),
    #"Type modifié" = Table.TransformColumnTypes(#"Lignes groupées",{{"Heures", type time}})
in
    #"Type modifié"

Fermer, Fermer et charger, Fermer et charger dans, Rapport de TCD

Bâtir le TCD

Cordialement

Bonsoir,

Par Power query, il suffit d'utiliser DateTimeZone :

= Table.TransformColumns(Source,{{"Date", each DateTime.From( DateTimeZone.From(_))}})

A+

re,

Modus opérandi.

Cordialement

12maverick39.docx (61.49 Ko)
Rechercher des sujets similaires à "conversion donnees pas temps 30sec horaire"