effectuer la moyenne de données acquises par tranche horaire

martinjl

XLDnaute Nouveau
Bonjour le Forum,
J'ai une sonde qui enregistre tout les 1/4 d'heure des données du milieu marin et me donne un fichier de données brutes (feuille "brutes" du fichier joint).
j'ai réalisé une macro qui extrait toutes les données relatives à la température (feuile "temp") et qui extrait toutes les données correspondantes à une salinité sup à 15 (feuille "traitées", colonnes A à H).
Mon problème est de faire la moyenne des données par tranche horaire et de la reporter dans la plage des colonnes J à T.
Dans le fichier de demo ci-joint, les couleurs ne sont là que aider à la compréhension du problème.
Un grand merci à ceux qui pourront se pencher sur mon problème,
jean louis
 

Pièces jointes

  • demo_jlm.zip
    14.9 KB · Affichages: 33

Gorfael

XLDnaute Barbatruc
Re : effectuer la moyenne de données acquises par tranche horaire

martinjl à dit:
Bonjour le Forum,
J'ai une sonde qui enregistre tout les 1/4 d'heure des données du milieu marin et me donne un fichier de données brutes (feuille "brutes" du fichier joint).
j'ai réalisé une macro qui extrait toutes les données relatives à la température (feuile "temp") et qui extrait toutes les données correspondantes à une salinité sup à 15 (feuille "traitées", colonnes A à H).
Mon problème est de faire la moyenne des données par tranche horaire et de la reporter dans la plage des colonnes J à T.
Dans le fichier de demo ci-joint, les couleurs ne sont là que aider à la compréhension du problème.
Un grand merci à ceux qui pourront se pencher sur mon problème,
jean louis
Salut

p'tite question
Ce sont des moyennes arythmétiques que tu veux ?
somme(valeur) / nb(valeur) ?

exemple tranche 13-14
Temp Sal O2dsat O2d Prof Turbid+ Fluor
20,67 25 99,8 7,27 0,078 185,4 5,3
20,85 25 106,5 7,73 0,217 120,6 3,8
21,65 35 111,2 7,95 0,578 141,9 8
Total
63,17 85,00 317,50 22,95 0,87 447,90 17,10
Moyenne (total/3)
21,06 28,33 105,83 7,65 0,29 149,30 5,70
en tenant compte du fait que la salinité > 15 pour comptabiliser la ligne
Ci-joint, ton fichier avec quelques modifs
Je pars de la feuille données brutes
Je fais une moyenne simple sur chacun des critères
Je ne tient compte que des lignes dont la salanité > 15
A+
 

Pièces jointes

  • demo_jlm_Mod.zip
    17.5 KB · Affichages: 31
Dernière édition:

martinjl

XLDnaute Nouveau
Re : effectuer la moyenne de données acquises par tranche horaire

Bonjour Gorfael, bonjour le forum
Je n'ai pas pu suivre hier au dela de 18h le fil de ma demande et j'ai été très heureux de trouver ton post ce matin en allumant mon micro.
C'est tout à fait ce que je souhaitais et en plus ta macro remplace avantageusement celle que j'avais ecrite pour extraire les données de la feuille brute et trier les enregistrement sup à 15%°.
Juste une petite question: dans la colonne U "taux en eau" est ce que l'inscription de taux (25,50, 75 ou 100) ne pourrait pas etre fait par la macro et pas par une formule?
Un très grand merci pour cette aide qui va me permettre de partir en vacance l'esprit serein du travail accompli grace à toi.
jean louis
 

Gorfael

XLDnaute Barbatruc
Re : effectuer la moyenne de données acquises par tranche horaire

martinjl à dit:
Bonjour Gorfael, bonjour le forum
Je n'ai pas pu suivre hier au dela de 18h le fil de ma demande et j'ai été très heureux de trouver ton post ce matin en allumant mon micro.
C'est tout à fait ce que je souhaitais et en plus ta macro remplace avantageusement celle que j'avais ecrite pour extraire les données de la feuille brute et trier les enregistrement sup à 15%°.
Juste une petite question: dans la colonne U "taux en eau" est ce que l'inscription de taux (25,50, 75 ou 100) ne pourrait pas etre fait par la macro et pas par une formule?
Un très grand merci pour cette aide qui va me permettre de partir en vacance l'esprit serein du travail accompli grace à toi.
jean louis
Salut
tu modifies la fin de la macro comme ceci
'inscription
Sheets("traitees").Activate
'effacement anciennes valeurs
Range("J3:U" & Range("J65536").End(xlUp).Row).ClearContents
For X = 1 To UBound(Tab_Val, 2)
For Y = 1 To 10
Range("J2").Offset(X, Y) = Tab_Val(Y, X)
Next Y
Range("J2").Offset(X, 0) = Tab_Val(11, X)
Range("J2").Offset(X, 11) = Tab_Val(11, X) * 25
Next X
Range("J3").Activate
End Sub

1re ligne en gras : on supprimait jusqu'à la colonne T => on supprime jusqu'à la colonne U
2ème en grs : on ajoute une inscription en colonne J+11=U qui est équivalente à la valeur de J × 25

ça devrait suffire à résoutre ton problème

A+
 

martinjl

XLDnaute Nouveau
Re : effectuer la moyenne de données acquises par tranche horaire

Re bonjour le forum et Gorfael si tu es encore là

En retravaillant la macro sur des fichiers plus important, je me suis aperçu d'une chose embétante: si sur une tranche horaire il n'y a pas d'enregistrement sup à 15°%, la tranche horaire n'apparait pas dans le fichier traité. Par exemple, si dans le fichier brute j'ai des valeurs entre 13 et 14h, puis aucune valeur entre 14 et 15h et à nouveau des valeurs entre 15 et 16, le fichier traité me donnera une ligne 13-14 puis 15-16 pour la ligne suivante.
Ne serait-il pas possible de conserver la ligne 14-15 avec des valeurs "0" pour tous les enregistrement de cette ligne?
J'en demande peut être un peu beaucoup!!?
jean louis
 

Gorfael

XLDnaute Barbatruc
Re : effectuer la moyenne de données acquises par tranche horaire

martinjl à dit:
Re bonjour le forum et Gorfael si tu es encore là

En retravaillant la macro sur des fichiers plus important, je me suis aperçu d'une chose embétante: si sur une tranche horaire il n'y a pas d'enregistrement sup à 15°%, la tranche horaire n'apparait pas dans le fichier traité. Par exemple, si dans le fichier brute j'ai des valeurs entre 13 et 14h, puis aucune valeur entre 14 et 15h et à nouveau des valeurs entre 15 et 16, le fichier traité me donnera une ligne 13-14 puis 15-16 pour la ligne suivante.
Ne serait-il pas possible de conserver la ligne 14-15 avec des valeurs "0" pour tous les enregistrement de cette ligne?
J'en demande peut être un peu beaucoup!!?
jean louis
Sakut
T'en demande un peu ou beaucoup, faut savoir ;) !
Pièce jointe : modif 1 : Date et tranche horaire renseignée, mais cellules vides pour le reste. Si tu veux absolument des 0 à la place du vide, la modif demande au moins 10 secondes, alors n'hésite pas :).
Mais moi, je préfére savoir d'un coup d'oeil que la ligne n'est pas traitée
A+
 

Pièces jointes

  • demo_jlm_Mod_1.zip
    17.7 KB · Affichages: 36

martinjl

XLDnaute Nouveau
Re : effectuer la moyenne de données acquises par tranche horaire

Gorfael à dit:
Sakut
T'en demande un peu ou beaucoup, faut savoir ;) !
Pièce jointe : modif 1 : Date et tranche horaire renseignée, mais cellules vides pour le reste. Si tu veux absolument des 0 à la place du vide, la modif demande au moins 10 secondes, alors n'hésite pas :).
Mais moi, je préfére savoir d'un coup d'oeil que la ligne n'est pas traitée
A+

Bonjour Gorfael, bonjour le

J'ai été absent depuis le 28 juillet et je viens juste de rentrer et de trouver le message de Gorfael suite à mon post du 27 juillet, alors je tiens, mieux vaut tard que jamais , à adresser un grand merci à Gorfael.
Effectivement, les cellules vides sont plus visibles que des 0 et permettent de voir d'un seul coup d'oeil les tranches horaires où les sondes sont hors d'eau.
Encore merci et à + sur le forum
jean louis
Thumbs up
 

Discussions similaires

Statistiques des forums

Discussions
312 158
Messages
2 085 830
Membres
102 994
dernier inscrit
snoopy70