Extension dates et heures + fusion de tableaux

Bonjour,

Je cherche à réaliser et rassembler deux tableaux.

1) L'un, déjà existant, donne des relevés climatiques, heure par heure, jour par jour, de 2022 à aujourd'hui.
Il comporte 3 colonnes : date (01/02/2022), heure (00:00:00), température.
Mais il peut manquer des lignes si un relevé horaire n'a pas fonctionné.

2) L'autre tableau, à constituer, ne comporterait que 2 colonnes : date (01/02/2022) et heure (00:00:00), de 2022 à aujourd'hui.

Mon but serait de pouvoir réunir ensuite les deux tableaux afin que la suite de date soit ininterrompue et que les relevés non enregistrés se traduisent par une cellule "température" vide en face de la colonne date (et heure).
Je devrai procéder de la sorte pour 40 capteurs afin de superposer ces résultats dans des graphiques, mais ça, je suis tout de même en mesure de le faire.

exceltemp

Mon premier problème est que je ne parviens déjà () pas à incrémenter automatiquement les deux colonnes date et heure de ce second tableau.
Pouvez-vous m'aider ?

Le second problème est la réunion des deux tableaux, mais il existe surement un tutoriel sur le forum qui me permette de ne pas passer par power query afin de ne pas multiplier le nombre d'onglets dans mon fichier qui est déjà bien lourd ?

Pardon de ces questions certainement très basiques et merci d'avance de votre aide !

Cordialement,

E64

Bonjour,

sans fichier joint on va avoir du mal à vous aider.

Bonjour, merci de votre réponse, effectivement ça n'aide pas pardon...

Voici donc le fichier joint, j'ai inséré un onglet explications qui détaille un petit peu plus les étapes.

Merci d'avance de votre aide si vous en avez le temps!

Cordialement,

13exemple-copie.zip (709.78 Ko)

E64

Bonjour à tous,

Une proposition via formule mais je ne suis pas sûr de bien comprendre...

=LET(data;ASSEMB.V(_17a;_23b;_27a);
res;TRIER(FILTRE(data;CHOISIRCOLS(data;2)>0);2;1);
ASSEMB.V(PRENDRE(_17a[#Tout];1) ;res))

J'avais pensé à une matricielle mais sur plus de 30.000 lignes, ça va faire chauffer le pc ! Surtout qu'il y aura 3 colonnes de formules.

Pour l'incrémentation, copiez d'abord le contenu de A26 sur A2 pour que ça commence au 01-01-1900, étirez sur la ligne suivante (A3).

Puis vous pouvez mettre ceci en B3 ;

=SI(JOUR(A3)<>JOUR(A2);B2+1;B2)

Sélectionnez A3 et B3 et étirez vers le bas.

Bonjour,

Merci beaucoup de vos réponses !
Merci Doux Rêveur pour la formule de l'incrémentation ça fonctionne parfaitement !

Saboh, merci de la formule : ce que je cherchais à faire était de créer deux colonne "heure" et "date", de façon à ce que l'incrémentation se fasse d'heure en heure et passe bien au jour suivant une fois minuit passé.

Ce qui me reste à faire c'est fusionner cette succession continue d'heures et date, avec les relevés horodatés existants de chacun de mes capteurs (C17, C23, C27).
Je crois que c'est la fonction "consolider", je vais tenter (si je n'y arrive pas vous le dirai )

Le but étant que, le tableau final (celui de l'onglet du capteur 17 par exemple) affiche cette liste continue d'heures et dates et que, lorsque le capteur n'a pas fait de relevé :

image

Cela me permettra de superposer sans erreurs dans des graphiques les données de mes 40 capteurs, puisque toutes basées sur le même horodatage.

Encore merci de votre aide et de votre temps !

Cordialement, E64

Salut,

une fois que votre tableau à 2 colonnes est fait, la suite est assez simple : vous rajoutez une colonne par capteur et les fonctions Index/Equiv ensemble vous permettront de mettre la valeur associée à chaque heure dans chaque colonne.

Donc 3 formules à faire mais qui sont les mêmes à un détail près, le nom de la feuille à laquelle elles se réfèrent.

Bonjour à tous,

Une proposition formules d'après ce que j'ai compris

Bonjour,

Tu utilises moult requêtes PQ pour importer tes datas.

Pourquoi ne pas générer un Tableau de "Date/Time" en connexion uniquement, du 01/01/22 à aujourd'hui, avec toutes les heures?

Puis Fusionner ce tableau avec toutes tes requêtes à partir de ce tableau "D/T"?

Cette requête te permet déjà de générer un tableau avec ces deux colonnes (date et heures)(il y a peut-être plus simple, attendons les pros...)

let
    Debut = #date(2022,1,1),
    Fin = Date.AddDays(Date.From(DateTime.FixedLocalNow()),1),
    Nb = Duration.Days(Fin - Debut),
    Source = {List.Repeat(List.Dates(Debut,Nb,Duration.From(1)),24)}&{List.Repeat(List.Times(#time(0, 0, 0), 24, #duration(0, 1, 0, 0)),Nb)},
    ToTable = Table.Sort(Table.FromColumns(Source,{"Date","Heure"}),{{"Date", 0}, {"Heure", 0}}),
    ModType = Table.TransformColumnTypes(ToTable,{{"Date", type date}, {"Heure", type time}})
in
    ModType

(Peut-être mettre en Buffer, pour éviter les re-calculs à chaque fusion???)

Merci à tous ! Voilà un point de situation :

A vrai dire, n'étant pas une flèche sous Excel, suite à mon dernier message, j'avais commencé à regarder la fonction "consolider" puis me suis réorientée vers "rechercheX". Mais suite à votre message Doux Reveur, j'ai regardé deux tutos pour essayer de mettre en place index/equiv que je n'ai jamais utilisée. Il va me falloir un peu de temps avant que ce soit limpide, mais ça me servira toujours pour d'autres sujets que mes capteurs.

Compte tenu de mon niveau, il va me falloir beaucoup plus de temps pour pouvoir appliquer votre proposition Cousinhub, mais je l'ai gardée dans un onglet de mon tableau principal pour la tester pour le reste des capteurs si elle permet de faciliter le fonctionnement. Mais j'attendrais d'avoir un peu d'aide (semaine prochaine peut-être).

Merci aussi Begood pour la formule clé en main ! Les formules m'ont laissée dans un état proche de la sidération par contre (l'implication des entiers et arrondis), mais je pourrai les utiliser en recopiant (oui, franchement ce n'est pas glorieux du tout...) en attendant de creuser pour comprendre.

Merci encore et désolée de mes compétences très faibles!

Cordialement,

E64

Alors je donne tout de même une formule avec Index/Equiv, j'ai mis ça en H1044 (bien sauver en matriciel à chaque modification) ;

=INDEX(C.27!$C$2:$C$45;EQUIV(1;((HEURE(A1044)=HEURE(C.27!$A$2:$A$45))*(B1044=C.27!$B$2:$B$45));0))

Ce n'est qu'un exemple jusqu'à la 45ème ligne mais il faudra remplacer les 45 par le nombre de lignes total.

excel fusion de tableaux par exceluser64 b

Mais 6 matricielles (et pas 3 comme j'avais dit plus haut) sur plus de 30.000 lignes, ça va ramer à donf.

PQ ou du VBA sont sans doute plus appropriés.

Je vous donne le fichier légèrement modifié au cas où ;

Rechercher des sujets similaires à "extension dates heures fusion tableaux"