Range dynamique pour fonctions
Bonjour,
Je cherche à faire quelque chose de particulier. Je commence tout juste en VBA. J'ai fait le tour des forums et je n'ai rien trouvé qui puissent m'aider.
Je possède une base de données qui me permet de rappeler un certaine nombre d'entre elles et de les classer. Le hic, c'est que le nombre est variable selon les critères et donc que mes plages de sorties varient.
Voici un exemple de ce que je peux avoir. (en surligné ce que j'aimerais avoi, idéalement les moyennes serait alignées dans une colonne)
A B CDEFGH
5 1 abc Moyenne 5 Moyenne Écart-type Nb()
5 20 abcdefg Moyenne 45 Moyenne Écart-type Nb()
5 31 ab Moyenne 90 Moyenne Écart-type Nb()
45 2 a Moyenne
45 7 ab Moyenne
45 35 a Moyenne
45 41 abcd Moyenne
45 42 abc Moyenne
90 5 ab Moyenne
90 12 abcdefgh Moyenne
Je cherche à calculer la moyenne de chaque ligne à la dernière colone +1, la moyenne de la moyenne de chaque ligne, l'écart type de la moyenne de chaque ligne pour chaque bloc de données ainsi que le nb de la colonne B de chaque bloc.
Je pense qu'une manière d'y arriver est de définir le range de la colonne 3 jusqu'à la dernière colonne utilisée de la feuille jusqu'à la ligne vide et faire une boucle pour chaque bloc de données. Mettre ça en VBA après, c'est autre chose...
J'espère que c'est suffisamment clair. Merci beaucoup!!
Une image vaut mille mots
Voici une explication plus claire.
Je cherche à pouvoir appliquer différentes fonctions (voir images) sur une série de données qui peuvent avoir un nombre de lignes et de colonnes variable mais qui sont toujours circonscrites en (3) blocs (voir images).
Je cherche à avoir sur ces plages de données
- La moyenne de chaque ligne alignée à la dernière colonne + 1
- La moyenne des moyennes de chaque ligne pour chaque bloc
- Le SEM (ecarttype()/racine(nb())) des moyennes de chaque ligne pour chaque bloc
- Le nb() des moyennes de chaque ligne pour chaque bloc
Sur les images en
noir: ce que j'ai en ce moment
vert: ce que j'aimerais obtenir
http://i42.tinypic.com/2gum6at.png
http://i39.tinypic.com/2ymeuts.png
Une solution à laquelle j'avais pensée c'est de trouver le nombre de colonnes max et les lignes vides et de définir mon range à partir de ce max et de la ligne vide puis faire une boucle pour chaque bloc. Étant débutant en VBA je ne sais pas comment pouvoir appliquer ça en pratique.
Merci