Excel: Moyennes a intervals reguliers

Fermé
Julien150 - 10 avril 2008 à 17:20
eriiic Messages postés 24453 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 4 octobre 2022 - 17 avril 2008 à 21:47
Bonjour,

Jai un probleme sous excel: Dans ma 1ere colonne jai des dates, 2eme colonnes des valuers. Ces valeurs sont des valeurs journalieres et je voudrai faire des moyennes sur les semaines. Evidemment je sais faire une moyenne, mais je me vois pas en faire 500 pour mes 4000 jours... La question donc: Comment dire a excel de me faire mes moyenne a intervals reguliers dans une colonne III.

merci beaucoup

4 réponses

xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022 564
10 avril 2008 à 17:34
Bonjour !

Tu veux :
des moyennes sur les semaines
rajoute une colonne N° semaine avec la formule =NO.SEMAINE(ta date)
et ensuite tu fais la moyenne sur le N° de semaine.

0
ehh j'ai pas vraiment compris dsl :S

Enfaite voila comment ca ce presente:
Dates Valeurs Moyennes
01.01.02 3,212 Moyenne semaine "une"
02.01.02 43,2
03.01.02 7,3
etc. ...
08.01.02 Moyenne semaine 2

Moi je veux la moyenne des semaines (7 jours donc). La moyenne porte donc tjs sur les 7 celulles valeurs suivantes. Il y a moyen de faire ca?
0
geny93 > Julien150
11 avril 2008 à 17:53
Bonjour

tu peux essayer l'outil Moyenne Mobile.

Place-toi dans la colonne où tu veux afficher tes moyennes.

Lance l'outil. il est dans le menu Outils/Utilitaires d'analyse.

Plage d'entrée: la plage de cellules contenant les valeurs.
Intervalle : 7

plage de sortie: la première cellule de la colonne où tu veux voir apparaître ton résultat.
Tu peux demander aussi un écart-type, il se placera sur la colonne suivante.


Voilà, j'espère t'avoir été utile.

Geny
0
kadeh Messages postés 334 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 15 novembre 2012 93
10 avril 2008 à 17:44
Bonjour,
pouvez-vous expliquer un peu?
0
Coucou,

Bon je vais expliquer bien :)

Jai une premiere colonne qui compte plus de 3000 lignes et qui est remplie de dates (01.01.2001 etc.).
Chaque nouvelle ligne, un nouveau jour :D

Ma deuxieme colonne represente des valeurs (p.ex. combien de voitures ont été vendu ce jour la)

Maintenant je veux des moyennes de *semaines* dans une troisieme colonne. le c que si je fait la moyenne de ma premiere semaine (je fait donc la moyenne des 7 premieres celulles de ma 2eme colonne) pas de souci, mais si je copie ca juste vers le bas et bien il vas decaller la formule que d'une celulle (un jour) et jaurai donc la moyenne des jours 2,3,4,5,6,7,8 au lieu de 8,9,10,11,12,13,14.

En gros comment je peux faire comprendre a excel de sauter des lignes et de passer directement a la semaine prochaine?
0
kadeh Messages postés 334 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 15 novembre 2012 93 > Julien150
10 avril 2008 à 18:24
je suis désolé pour les retard des réponse nous avons un problème de connexion ce jour
tu peux servir d'une macro qui regroupe chaque 7 cellule de la colonne B, calcule la moyenne de
chaque groupe à l'affecte à la première cellule vide de la colonne C
en attendant que le problème de la connexion soit résolue je vous envoi la macro
@+
0
eriiic Messages postés 24453 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 4 octobre 2022 7 137
10 avril 2008 à 18:44
Bonjour,

ne change rien pour le début et calcule ta 1ère moyenne.
En colonne C sélectionne ta formule et le nombre de lignes (vides donc) d'1 semaine (5 ou 7), copier.
Sélectionne toute la zone ou tu veux ta moyenne et coller.
Si tu as sélectionné 7 lignes ta formule se collera toutes les 7 lignes.

Je te conseille aussi de jeter un oeil sur les tableaux croisés dynamique où tu peux grouper facilement par mois, trimestres ou années (pas par semaine par contre) en lui demandant les nombres et/ou les sommes et/ou les moyennes...


eric
0
xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022 564
11 avril 2008 à 13:53
Salut Eriiic et tout le monde

si tu rajoutes une colonne avec la formule NO.SEMAINE () dans ta feuille
Dans les TCD
tu peux aussi grouper par semaine
en pratique souvent c'est par année et semaine
0
eriiic Messages postés 24453 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 4 octobre 2022 7 137 > xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022
11 avril 2008 à 18:49
Bonjour xkristi :-)

Comment vas-tu ?

Bien sûr on peut utiliser no.semaine() pour regrouper aussi.
Toutefois il faut rappeler que le n° retourné par excel ne correspond pas aux n° de semaine de notre calendrier. Des fois c'est bon, des fois c'est pas bon... Les américains ne calculent pas laz 1ère semaine de l'année comme nous.
Il peut y avoir un décalage de 1

eric
0
xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022 564 > eriiic Messages postés 24453 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 4 octobre 2022
16 avril 2008 à 15:03
Mille pardons Eriiic , suis pas mal occupée en ce moment ...
Je vais bien et espère que toi aussi !!!!!!!

La fonction NO.SEMAINE te donne le choix entre rester Français ou devenir américain LOL
au moins en ce qui concerne le calcul

date n° semaine
13/04/2008 16 NO.SEMAINE(A1;1) commence le dimanche
13/04/2008 15 NO.SEMAINE(A2;2) commence le lundi

à PLus


0
eriiic Messages postés 24453 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 4 octobre 2022 7 137 > xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022
16 avril 2008 à 19:18
Bonsoir xkristi :-)

D'accord pour le 1er jour de semaine à lundi mais la différence ne se situe pas que là.

En france (norme ISO) la semaine 01 est celle qui contient le 1er jeudi du mois de janvier (donc semaine ayant au minimum 4 jours en janvier).

Pour les américains (donc pour no.semaine) la semaine 01 est celle du 1er janvier.
En 2010 la semaine 01 débutera pour nous le lundi 04/01, no.semaines sera déjà à la semaine 02. Dans ce cas toutes tes semaines de l'année sont fausses.

En plus toutes nos semaines font 7 jours, et le lundi de la semaine 01 peut aller du 29/12 au 04/01. Cette année par exemple le 29/12/2008 appartient à la semaine 01 de 2009 (regarde un calendrier).
Excel lui te dit semaine 53 (semaine faisant 3 jours, la semaine 01 en faisant 4...)

Ne jamais utiliser no.semaine() mais :
par formule :
=ENT((D-SOMME(MOD(DATE(ANNEE(D-MOD(D-2;7)+3);1;2);{1E+99;7})*{1;-1})+5)/7)
en VBA :
NumSem= Val(Format(MaDate, "ww", vbMonday, vbFirstFourDays))

eric
0
xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022 564 > eriiic Messages postés 24453 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 4 octobre 2022
17 avril 2008 à 12:53
Bonjour Eriiic

c'est vrai de vrai
avec no.semaine je me retrouve avec 53 semaines dans l'année !!!!!!! lol

J'ai stocké la formule que tu donnes , elle pourra me servir
Merci
Bonne journée

0
kadeh Messages postés 334 Date d'inscription vendredi 21 décembre 2007 Statut Membre Dernière intervention 15 novembre 2012 93
11 avril 2008 à 16:46
Bonjour,
Jai pas pu terminer avec toi hier à cause de perturbation dans ma connexion internet
tu peux utiliser ces deux macro
---------------------------

cette macro sert à calculer la moyenne je l'ai fais par l'enregistreur de macro

Sub moyenne()
'
' moyenne Macro
Range("C1:C7").Select
Range("C7").Activate
activecell.FormulaR1C1 = "=AVERAGE(R[-6]C[-1]:RC[-1])"
Range("C1:C7").Select
Selection.AutoFill Destination:=Range("C1:C65535"), Type:=xlFillDefault

End Sub
-----------------------------------------------
cette macro sert supprimer les cellules vides et décaler vers le haut
! tu exucute cette macro une fois par mois

Sub test()
Dim x As Long, i As Long
'i nombre de fois à répéter la macro
For i = 1 To 25
For x = 1 To Range("B65535").End(xlUp).Row
'si cellule est vide
If Range("C" & x) = "" Then
'suuprimer cellule et décaler vers le haut
Range("C" & x).Delete xlUp
Exit For
End If
' Sinon on passe à la ligne suivante
Next x
' refaire la macro
Next i
Exit Sub
cancel = True
End Sub

bonne chance @+
0