Calculs sur les plages de cellule définies par des variables

M

Martin

Guest
Bonjour,

Je suis à la recherche du code me permettant d'effectuer la moyenne sur une plage de cellules définie par des variables, sélectionée de la manière suivante (code que j'ai trouvé sur une page de ce forum, MERCi) :

'définition de la plage de cellule à moyenner:
iStartRow = 8: iStartCol = Cells(1, 1)
iendRow = 8: iendCol = Cells(2, 1)
Range(Cells(iStartRow, iStartCol), Cells(iendRow, iendCol)).Select

à partir de là je vois pas comment exécuter un calcul cur cette plage...


merci pour vos aides précieuses

Martin
 
B

Bernard

Guest
Bonjour le Forum et bonjour Martin

Je ne sais pas où tu as eu ce bout de code mais il ne correspond pas à une façon habituelle de définir une plage.
Pour définir une plage, le plus simple est de définir la première et la dernière cellule de la plage.

Exemple de macro :

Sub Moyenne()
'Déclaration de variable
Dim Plage As Range
'Définition de la variable
Set Plage = Range("A1:B8")
'Renvoi de la moyenne de la plage sur la cellule C1
Range("C1") = Application.Average(Plage)
End Sub

Cordialement

Bernard
 
M

Michel_M

Guest
Bonjour Martin, Bernard

autre solution (effectivement, Bernard, la manière est bizarre)
Tu sélectionnes ta zone et...


Sub moyenner()

lig_deb = Selection.Row
col_deb = Selection.Column
col_fin = Cells(lig_deb, 256).End(xlToLeft).Column
lig_fin = Cells(65536, col_deb).End(xlUp).Row

'exclusion si pas de valeurs numériques
If Application.Sum(Range(Cells(lig_deb, col_deb), Cells(lig_fin, col_fin))) = 0 Then
MsgBox "plage vide"
Exit Sub
End If

' calcule de la moyenne
moy = Application.Average(Range(Cells(lig_deb, col_deb), Cells(lig_fin, col_fin)))

End Sub

A+
Michel (at work)
 

Discussions similaires

Statistiques des forums

Discussions
312 756
Messages
2 091 746
Membres
105 062
dernier inscrit
Ret78