Boucle permettant de récupérer valeur
Prunett
Messages postés
31
Statut
Membre
-
Frenchie83 Messages postés 2254 Statut Membre -
Frenchie83 Messages postés 2254 Statut Membre -
Bonjour,
Après avoir calculé la moyenne des températures par jour pour chaque jour de l'année, j'aimerais reporté les valeurs dans une autre colonne mais cette fois ci pour chaque heure.
Je m'explique, j'ai déjà calculé la température moyenne pour le 1/01 sur 24h. Maintenant j'aimerais reporter cette valeur pour les 24h du 1/01 et renouveller cette procédure pour l'ensemble des jours de l'année.
Le problème est que j'ai seulement la première valeur (le 1/01) et cela pour l'ensemble des jours de l'année qui s'affiche dans ma nouvelle colonne.
En vous remerciant d'avance,
Après avoir calculé la moyenne des températures par jour pour chaque jour de l'année, j'aimerais reporté les valeurs dans une autre colonne mais cette fois ci pour chaque heure.
Je m'explique, j'ai déjà calculé la température moyenne pour le 1/01 sur 24h. Maintenant j'aimerais reporter cette valeur pour les 24h du 1/01 et renouveller cette procédure pour l'ensemble des jours de l'année.
Option Explicit
Option Base 1
Sub Tmaxmin_jour()
Dim Derlig As Integer, Nbre_jours As Integer
Dim lig As Integer, Jour As Integer, T_jour, T_temp, T_out
Dim tab_temp(8760) As Variant
'initialisations
Application.ScreenUpdating = False
'nettoyage tableau résultats
Range("H3:L370").ClearContents
Derlig = Columns("A").Find("*", , , , , xlPrevious).Row
Nbre_jours = (Derlig - 1) / 24 ' prendre en compte année bissectiles
ReDim T_out(Nbre_jours, 5) 'champ2=jour, 1=mois 3:maxi,4: mini, 5 moyenne
'------Mémorisation des températures maxi/mini/moyenne par jour/mois
For lig = 2 To Derlig Step 24
Jour = Jour + 1
T_jour = Range(Cells(lig, "A"), Cells(lig, "B"))
T_temp = Range(Cells(lig, "D"), Cells(lig + 23, "D"))
T_out(Jour, 1) = T_jour(1, 1)
T_out(Jour, 2) = T_jour(1, 2)
T_out(Jour, 3) = Application.Max(T_temp)
T_out(Jour, 4) = Application.Min(T_temp)
T_out(Jour, 5) = Application.Average(T_temp)
tab_temp(Jour) = T_out(Jour, 5)
Next
'-----Restitutions des mesures
Range("H3").Resize(UBound(T_out), 5) = T_out
Range("O2").Resize(UBound(tab_temp)) = tab_temp
End Sub
Le problème est que j'ai seulement la première valeur (le 1/01) et cela pour l'ensemble des jours de l'année qui s'affiche dans ma nouvelle colonne.
En vous remerciant d'avance,
A voir également:
- Boucle permettant de récupérer valeur
- Recuperer message whatsapp supprimé - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment recuperer une video sur youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Impossible de récupérer mon compte gmail - Guide
1 réponse
Bonjour
Le passage par le VBA n'est pas nécessaire, une simple formule suffit.
Voici une proposition avec 3 méthodes de présentation différentes (la méthode 1 est la plus logique)
https://www.cjoint.com/c/EEngmGYR9zw
A adapter à votre fichier si cela vous convient
Cdlt
Le passage par le VBA n'est pas nécessaire, une simple formule suffit.
Voici une proposition avec 3 méthodes de présentation différentes (la méthode 1 est la plus logique)
https://www.cjoint.com/c/EEngmGYR9zw
A adapter à votre fichier si cela vous convient
Cdlt