Bonjour,
Tout d'abord un grand merci à tous les membres actifs de ce forum, qui m'a énormément aidé dans mon expoloration du VBA (Excel) jusqu'à présent.
Mon objectif actuel :
J'ai plusieurs colonnes avec filtre automatique. (une dizaine de colonnes et plus de 800 lignes, d'où le tri)
ex :
ColonneE (tri) ColonneG
Côté 9
Dessus 10
Dessus 16
Côté 7
Dessous 8
Dessus 11
...
Lorsque j'effectue un tri (admettons "Dessus" ) je voudrais la moyenne (et à terme le mini et le maxi aussi) de toutes les lignes qui ont été gardées. (donc ici moyenne = 12.33)
Pour le moment le code m'en approchant le plus était celui-là :
Private Sub MoyenneMiniMaxi()
Dim plage As Variant
Set plage = Range(Cells(8, 7), Cells(8, 7).End(xlDown)) 'Ligne 8 c'est un titre, et c'est là où se trouve la flèche de tri automatique
Range("G6" ) = Application.WorksheetFunction.Average(plage) 'mes valeurs commencent à la ligne 9, donc G6 est une cellule vide.
End Sub
Le souci de ce code, c'est que si le premier "dessus" qu'il trouve est en ligne 22, et que le dernier est en ligne 30, il fera la moyenne en intégrant toutes les valeurs de la ligne 9 à la ligne 30 sans prendre en compte uniquement les valeurs triées affichées à l'écran.
J'espère avoir été clair, merci par avance pour votre aide.
Message édité par Silarion le 21-05-2008 à 09:17:53