Bonjour à tous
je rencontre un problème concernant le calcul de moyennes mensuelles.
J'ai un fichier assez gros (750 colonnes pour 5551 lignes). Dans la première colonne se trouve les dates journalières allant de janvier 1988 à décembre 2009.
je souhaiterais pour chaque mois de chaque année calculé une moyenne sur les données disponibles chaque jours de chaque mois, en sachant que certains mois ne présentent pas de données.
Mon objectif est par conséquent de passer d'un fichier avec données journalières à un fichier avec données mensuelles.
J'ai essayé la formule suivante =(SI(SOMMEPROD((MOIS($A5556)=MOIS($A$3:$A$5551))*(ANNEE($A5556)=ANNEE($A$3:$A$5551))*(C$3:C$5551<>0)*1)=0;"";SOMMEPROD((MOIS($A5556)=MOIS($A$3:$A$5551))*(ANNEE($A5556)=ANNEE($A$3:$A$5551))*(C$3:E$5551)))/SOMMEPROD((MOIS($A5556)=MOIS($A$3:$A$5551))*(ANNEE($A5556)=ANNEE($A$3:$A$5551))*(C$3:C$5551<>0)*1))
Elle fonctionne bien cependant mon problème est qu'excel rame énormément et ne parvient pas à calculer les moyennes voulues sur toute la plage définie.
Existe-t'il une solution en VBA, pour traiter ce problème?
je rencontre un problème concernant le calcul de moyennes mensuelles.
J'ai un fichier assez gros (750 colonnes pour 5551 lignes). Dans la première colonne se trouve les dates journalières allant de janvier 1988 à décembre 2009.
je souhaiterais pour chaque mois de chaque année calculé une moyenne sur les données disponibles chaque jours de chaque mois, en sachant que certains mois ne présentent pas de données.
Mon objectif est par conséquent de passer d'un fichier avec données journalières à un fichier avec données mensuelles.
J'ai essayé la formule suivante =(SI(SOMMEPROD((MOIS($A5556)=MOIS($A$3:$A$5551))*(ANNEE($A5556)=ANNEE($A$3:$A$5551))*(C$3:C$5551<>0)*1)=0;"";SOMMEPROD((MOIS($A5556)=MOIS($A$3:$A$5551))*(ANNEE($A5556)=ANNEE($A$3:$A$5551))*(C$3:E$5551)))/SOMMEPROD((MOIS($A5556)=MOIS($A$3:$A$5551))*(ANNEE($A5556)=ANNEE($A$3:$A$5551))*(C$3:C$5551<>0)*1))
Elle fonctionne bien cependant mon problème est qu'excel rame énormément et ne parvient pas à calculer les moyennes voulues sur toute la plage définie.
Existe-t'il une solution en VBA, pour traiter ce problème?
Pièces jointes
Dernière édition: