Calcul de moyenne

Bonjour,

J'aimerai calculer une moyenne de la colonne C dans un projet excel, en vba. Et puisque il est possible qu'on y rajoute des valeurs, j'ai voulu, que la selection des cellules aille de la celulle C2 à la dernière cellule non-nul, mais quand j'essaie de faire marcher ce code:

j'ai un message d'erreur

Sub moyenne()

With Sheets("VirementsIn" & c)

Range("K3") = Application.Average(.Range("C2", selection.End(xlDown)))

End With

End Sub

Bonjour,

Revoie la définition de la plage (syntaxe).

Et K3 ne se trouve pas sur la même feuille ?

Si K3 se trouve sur la même feuille

Je ne vois justement pas ou est l'erreur de syntaxe, peux-tu m'aider?

Bonjour,

le message d'erreur vient (je pense) du fait que ta feuille soit mal nommé,

Pour que la moyenne prenne en compte tout le colonne C, moi j'aurai fait comme cela :

With Sheets("VirementsIn" & c)
    Range("K3") = Application.Average(.Range("C2:C" & Rows.Count))
End With

Dans la première ligne de mon code change le nom de la feuille avec celle que tu as dans ton classeur,

Dis moi si c'est OK,

RemBabar

Salut RemBabar

Un grand merci à toi ça fonctionne !!

Re,

Tu inities un bloc With... End With, ce qui est une bonne méthode !

Immédiatement derrière : Range("K3") [sans point devant, donc non qualifié, donc si c'est volontaire, c'est que cette cellule est sur une autre feuille...]

NB- Dès que je vois un Range ou Cells non précédé d'un point, je considère qu'il s'agit d'une anomalie ! dans le sens ou la bonne méthode (garantissant la meilleure rapidité) consiste à doter toutes ses expressions de qualificateurs d'objet.

Par ailleurs :

.Range(.Cells(2, 3), .Cells(2, 3).End(xlDown))

définirait plus correctement ta plage...

Rechercher des sujets similaires à "calcul moyenne"