Interpolation de températures

Bonjour,

Je souhaiterai écrire une macro VBA qui effectue une interpolation de température avec un pas fixe d'1 heure, à partir de données récupérées avec des pas variables.

date               heure       T°C      diff heure
13/07/2013    00:00:00    33,2        3
12/07/2013    21:00:00    35,2        3
12/07/2013    18:00:00    38,6        3
12/07/2013    15:00:00    40        3
12/07/2013    12:00:00    38,4        3
12/07/2013    09:00:00    33,2        3
12/07/2013    06:00:00    30,8        1
12/07/2013    05:00:00    30,8        2
12/07/2013    03:00:00    30,8        3
12/07/2013    00:00:00    32,6        1
11/07/2013    23:00:00    32,6        2
11/07/2013    21:00:00    34        3

par exemple, je souhaite interpoler [33,2°C] et [35,2°C] cela donne une température moyennée entre les deux avec un pas d'une heure

date               heure        T°C      diff heure
13/07/2013    00:00:00    33,2        1
12/07/2013    23:00:00    33,8        1
12/07/2013    22:00:00    34,4        1
12/07/2013    21:00:00    35,2        1

je souhaite connaitre qu'elle serait la macro VBA capable de lire la mesure de température journalière tout les 3h et l'interpoler vers un pas d'1h

c'est à dire écrire un programme:

  • qui lis la différence d'heure entre deux dates consécutives
  • puis crée un décalage de ligne équivalent à cette différence
  • puis remplis les cellules vides avec des températures entre la première et la dernière valeur

Bonjour,

Je m'apprétais à m'y mettre mais comme tu as posté sur d'autres forums je ne vais pas prendre le risque de bosser pour rien.

Tu as peut-être déjà la réponse ailleurs...

eric

Bonsoir le forum,

Salut Qwerty, Eriic,

voilà ton fichier, sans aucun souci esthétique : le calcul brut.

Juste un bouton rouge à cliquer!

A+

52moyennet.xlsm (22.72 Ko)

merci curulis57 , le programme marche bien

PS. j'ai supprimé les deux lignes ci dessous, pour voir mieux le décalage des dates/heures lors de l'interpolation

.Cells(iLig, 6) = Split(DateAdd("h", -y, dDate), " ")(0)

.Cells(iLig, 7) = Split(DateAdd("h", -y, dDate), " ")(1)

Rechercher des sujets similaires à "interpolation temperatures"