Moyennes mensuelles automatiques

Moyennes mensuelles automatiques - VB/VBA/VBS - Programmation

Marsh Posté le 29-08-2012 à 15:40:47    

Bonjour,
 
je cherche à automatiser un process sous Excel (ou VBA même).
 
Contexte: J'ai un tableau avec deux colonnes: Date et Valeurs.  
Chaque jour le fichier s'actualise avec une nouvelle ligne (dernier jour et dernière valeur).  
 
Idée: Je voudrais que la moyenne mensuelle soit calculée automatiquement (en prenant en compte la nouvelle ligne).
 
Je voudrais également que lors d'un changement de mois, la moyenne mensuelle sur le nouveau mois en cours se calcule automatiquement. Celle du mois venant de se terminer ne bouge plus.
 
Si quelqu'un a une idée :)
 
Merci

Reply

Marsh Posté le 29-08-2012 à 15:40:47   

Reply

Marsh Posté le 29-08-2012 à 23:21:37    

perso je ferai la moyenne de la colonne ou le mois est égal au mois de la date du jour  
si ( mois(A1) = mois(aujoud'hui())) ou un truc dans le genre  
 
avec le fichier excel sous la main sa se fait en 10min je pense

Reply

Marsh Posté le 29-08-2012 à 23:34:31    

> tableaux croisés dynamiques
 
Sur une page, tu places tes données "brutes" (une ligne par jour si j'ai bien suivi).
 
Tu sélection les "colonnes excel" de ton tableau brut (pour qu'à l'ajout de ligne le TCD se mette à jour) et tu lance le wizard des TCD. (avec le résultat sur une nouvelle feuille)
 
En gros, tu mets tes données dans la zone centrale, tu sélectionnes que tu en veux la moyenne.
Tu place les dates dans la colonne à gauche. en Jouant dans les options, il est possible d'obtenir les valeurs par an, mois, semaines ou jours avec des totaux/moyennes par période.
 
Enjoy ;)


Message édité par Arl Guhr le 29-08-2012 à 23:35:06
Reply

Marsh Posté le 30-08-2012 à 08:06:56    

c'est une solution mais il faut qu'il fasse 3 nouvelles colonnes dans son tableau ( découpe de la date en année,mois et jour)

Reply

Marsh Posté le 30-08-2012 à 09:25:36    

merci ça marche!
 
Cependant j'ai un autre petit problème.
Chaque jour une nouvelle ligne s'ajoute donc mais cela décale le tableau vers le bas d'une ligne. Et donc chaque jour la "nouvelle moyenne" perd une valeur dans son calcul.  
 
Comment faire en sorte que la premier jour du mois soit toujours pris en compte?
 
Merci :)

Reply

Marsh Posté le 30-08-2012 à 10:43:09    

cela dépend comment tu as défini ton TCD (tableaux croisés dynamiques )
 et comment tu as défini ton tableau et comment tu ajoutes ta ligne  
 
chez moi un tableau j'en fais une plage nommée lorsque j'avoue une ligne cette plage augmente automatiquement et donc mon TCD est toujours bon  
 
mais normalement si ton TCD est défini sur les colonnes il devrait pas y avoir de soucis lors d'un ajout de ligne  

Reply

Marsh Posté le 30-08-2012 à 11:58:15    

parfait ;)  
 
Merci pour tout!

Reply

Marsh Posté le 30-08-2012 à 20:19:42    

boomy29 a écrit :

c'est une solution mais il faut qu'il fasse 3 nouvelles colonnes dans son tableau ( découpe de la date en année,mois et jour)


normalement, excel fait le travail, pas besoin de le faire soi même!

Reply

Marsh Posté le 30-08-2012 à 20:25:29    

Peut-être je sais pas trop j'utilise pas trop les TCD
 
il doit y avoir un truc pas normal chez moi surement mes dates doivent être stockées en texte ou le format de cellule
 
maintenant je suis intrigué  :heink:


Message édité par boomy29 le 30-08-2012 à 20:25:55
Reply

Marsh Posté le 30-08-2012 à 21:24:52    

Au temps pour moi, je viens de vérifier et ça ne le fait pas :/
J'ai confondu avec access (qui lui le fait :D).
 
Sinon, une seul colonne calculée suffit avec un
= TEXT(YEAR(lacasededate);"0000" ) & "-" & TEXT(MONTH(lacasededate);"00" )
Pour l'utiliser dans le champs "Row labels" à la place de la date

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed