Moyenne et VBA

Bonjour à tous,

j'ai besoin de calculer une moyenne mais je n'y arrive pas avec VBA... Voici mon code :

derniere_ligne = Cells(Rows.Count, 2).End(xlUp).Row

Sheets.Add After:=ActiveSheet

ActiveCell.FormulaR1C1 = "=AVERAGE(Sheet1!R[1]C[1]:R[derniere_ligne]C[1])"

Range("A2").Select

ça doit être une erreur très bête mais je suis un peu débutant...

Merci !!!

Laurent.

Bonjour,

Pour commencer, vous ajoutez une formule dans la cellule active. Etes vous sûr d'où se trouve cette cellule alors que vous venez d'ajouter une nouvelle feuille ?

Ensuite, vous ajoutez une formule de calcul dans la cellule. Il est possible d'ajouter directement le résultat de la formule.

Exemple :

Range("A2").Value = Application.Average(Sheets("Sheet1").Range("A1:A" & derniere_ligne))"

Si c'est bien une formule "dynamique" que vous souhaitez, il faut corriger la partie qui concerne derniere_ligne.

Je m'explique : l'utilisation des guillemets est réservée à du texte, qu'Excel et VBA ne cherchent pas à interpréter et écrivent donc tel quel. C'est le cas de votre formule, donc pour remplacer le nom de la variable par son contenu, il faut qu'elle se trouve hors des guillemets pour être interprétée.

Exemple :

Range("A2").FormulaR1C1 = "=AVERAGE(Sheet1!R[1]C[1]:R[" & derniere_ligne & "]C[1])"

Attention avec cette syntaxe, R1 est différent de R[1]. Le premier équivaut à la ligne $1 (= dans tous les cas), le second à la ligne active + 1 (référence relative).

Merci beaucoup !!!

Non seulement ça fonctionne parfaitement mais en plus j'ai le droit à l'explication claire...

MERCI !

Bonne journée.

Laurent.

Merci du retour, pense à valider le sujet !

Rechercher des sujets similaires à "moyenne vba"