Excel VBA - Moyenne de valeurs liées à une variable dans un tableau

obis

Nouveau membre
Hello à tous !

Je fais un petit programme de reporting Excel pour des collègues de ma boîte, que je voudrais automatiser le plus possible.

J'ai un premier tableau, avec un certain nombre de critères et des valeurs mensuelles liées. Chaque critère est associé, dans le tableau, à une valeur fixe (il y en a 10 en tout) qui permet d'associer plusieurs critères.

Colonne A : critères (n critères)
Colonne B : critère de regroupement (10 au total)
Colonne C : valeur janvier 2007
Colonne D : valeur février 2007
Etc.

Objectif
Je voudrais générer un tableau de synthèse où on a, pour chaque critère de regroupement, la moyenne des valeurs des critères liés à ce critère de regroupement. Le tableau aura donc 10 lignes.

Je pense que le plus simple serait :
1. faire un test sur la colonne contenant les critères de regroupement
2. récupérer les valeurs du mois en cours pour toutes les lignes contenant le critère de regroupement qu'on a testé (ex. "information")
3. stocker ces valeurs dans un tableau
4. faire une moyenne à partir de ce tableau...

Pensez-vous que c'est la méthode la plus simple ?
Si oui, comment stocker les valeurs dans un tableau ?

Je sais que le plus simple serait de passer par un tableau croisé dynamique, mais, comme dit plus haut, je voudrais automatiser toute la production du tableau de bord par des macros...
 

obis

Nouveau membre
J'ai réussi à stocker toutes les valeurs dans un tableau...
quelqu'un sait-il comment je peux faire une moyenne de ces valeurs ?

Elles sont stocker dans des variables de type
Var(1), Var(2), etc.

Merci !
 

zeb

Modérateur
Je n'ai pas bien compris pourquoi tu ne peux pas faire une cellule avec la formule =Moyenne(..) dans un tableau [:spamafote]. Il semblerait que dans ton cas, les macros ne soient pas la meilleure solution. Mais dans ce cas, ce n'est pas ici qu'il faut poster......... :sarcastic:

Bon, ce n'est pas grave. Je réponds quand même.

Dans la partie tableur, la fonction moyenne s'appelle Moyenne :)
Mais en fait, ce n'est que la traduction. Pour s'en convaincre, mettre =Moyenne(A1:A10) dans la cellule A11, puis exécuter la macro suivante :
Code:
Sub Formule()
  MsgBox Range("A11").Formula
End Sub
Oh miracle ! La fonction Excel s'appelle en fait Average

Bon, maintenant, comment faire pour appeler les fonctions Excel en VBA ?
Elles sont toutes dans Application.WorksheetFunction. Donc :
Code:
Moyenne = Application.WorksheetFunction.Average ( Var(1),Var(2), .. )
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 058
Membres
1 586 285
Dernier membre
LeFront
Partager cette page
Haut