Calculer une moyenne par VBA
freeycap
Messages postés
87
Statut
Membre
-
freeycap Messages postés 87 Statut Membre -
freeycap Messages postés 87 Statut Membre -
Bonjour,
J'aimerai programmé avec vba des moyennes apparaissant sur une colonne (disons mon RangeA). Quelques fois, il n'y a aucune valeur sur certaines cellules de la colonne. Sans vba, je peux écrire ceci :
=SI(NBVAL(RangeA)=0;"";MOYENNE(RangeA))
Ca fait ma moyenne sans tenir compte des cellules vides.
Ca peut se traduire comment en vba ?
Merci d'avance
J'aimerai programmé avec vba des moyennes apparaissant sur une colonne (disons mon RangeA). Quelques fois, il n'y a aucune valeur sur certaines cellules de la colonne. Sans vba, je peux écrire ceci :
=SI(NBVAL(RangeA)=0;"";MOYENNE(RangeA))
Ca fait ma moyenne sans tenir compte des cellules vides.
Ca peut se traduire comment en vba ?
Merci d'avance
4 réponses
-
Salut,
Pourquoi utiliser le VBA alors que les formules classiques suffisent largement ?
-
en fait c'est parce que le calcul de la moyenne fait déjà partie d'une macro plus complexe... c'est le résultat de ma moyenne qui ne convenait pas.... Le pire c'est que je n'avais pas fait attention, je m'en suis rendu compte devant mon boss dans l'analyse des résultas.... Ca la fout mal un peu quand même.... lol
-
-
-
-
J'avais mal compris :
Si tu veux faire une moyenne en excluant les zéros/cellules vides :
=SOMME(PLAGE)/(NB(PLAGE)-NB.SI(PLAGE;"=0"))
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d ! -
Bonsoir,
Pourquoi as tu écrit cette formule
=SI(NBVAL(RangeA)=0;"";MOYENNE(RangeA))
si c'est pour gérer l'erreur dans le cas de cellule vide depuis Excel 2007 tu peux écrire
=SIERREUR(MOYENNE(A2:A20);"")
pour une moyenne cette formule suffit
=MOYENNE(A2:A20)
en VBA
Application.Average(Range(Range("A2"), Range("A65536").End(xlUp)))
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir. -