Moyenne glissante (avec début et fin)

Fermé
TPAIK Messages postés 2 Date d'inscription mardi 25 mai 2021 Statut Membre Dernière intervention 25 mai 2021 - 25 mai 2021 à 13:45
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 25 mai 2021 à 15:41
Bonjour à tous,

Une idée me taraude, je souhaite depuis quelques jours à réaliser une moyenne en décalé.

Je vais vous expliquer un peu plus en détails mon problème, si cela vous intéresse.

J'ai réalisé un outil permettant de récupérer heure par heure les températures, l'hygrométrie ainsi que l'ensoleillement (en fonction de la ville et de l'année) du site Méteociel.
Cependant, parfois pendant plusieurs heures, il n'y a pas d'informations (N/A) , ainsi je souhaiterais réaliser soit un programme VBA, soit utiliser différentes fonction de Excel telles que DECALER, SI , MOYENNE ... afin d'avoir des résultats moyennés là ou il n'y a pas d'informations. J'utilise cela afin de faire des dimensionnements ... --> voir pièces jointes

Je vous remercie d'avance pour votre aide.
Si vous avez besoin de plus d'informations, n'hésitez pas


1 réponse

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
25 mai 2021 à 13:52
bonjour,
as-tu une question?
-1
TPAIK Messages postés 2 Date d'inscription mardi 25 mai 2021 Statut Membre Dernière intervention 25 mai 2021
25 mai 2021 à 14:09
Bonjour,

Ma question se porte sur comment faire "une moyenne décalée " ? Si dans un tableau de valeurs (récupération du site Méteociel), il y a des valeurs manquantes (N/A). Je souhaiterais faire la moyenne de la manière suivante :

X
N/A (X+Y)/2
N/A (((X+Y)/2)+Z)/2
N/A ...
N/A
N/A
N/A
N/A
...
Y
Z

Cependant dans mon tableau de 8760 lignes, les valeurs manquantes se situent à divers endroits et varie en fonction des hypothèses que je prends pour lancer mon programme VBA.

Je m'excuse pour mon manque de clarté, cela est compliqué à expliquer à l'écrit.

Merci d'avance, si vous avez des idées.
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > TPAIK Messages postés 2 Date d'inscription mardi 25 mai 2021 Statut Membre Dernière intervention 25 mai 2021
25 mai 2021 à 15:27
si je comprends bien, cela ne fonctionne que si, après une série de valeurs manquantes, il n'y a pas de valeur manquante dans la série de même longueur qui suit.
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
25 mai 2021 à 15:41
suggestion:
Sub moydec()
Dim cl As Range, X As Range, Y As Range
Dim lx As Long, ly As Long, i As Long, nna As Long
Set cl = Sheets("meteo").[a2]
If IsError(cl) Then
    Stop
End If
Do While cl <> ""
    Set cl = cl.Offset(1)
    If IsError(cl) Then
        Set X = cl.Offset(-1)
        lx = X.Row
        Do While IsError(cl.Offset(1))
            Set cl = cl.Offset(1)
        Loop
        Set Y = cl.Offset(1)
        ly = Y.Row
        Set cl = X.Offset(1)
        nna = ly - lx - 1
        For i = 1 To nna
            cl = (cl.Offset(-1) + cl.Offset(nna)) / 2
            Set cl = cl.Offset(1)
        Next i
        Set cl = Y
    End If
Loop
End Sub
0