[VBA Excel]

Fermé
antic80 - 30 mars 2005 à 10:51
Armojax Messages postés 1858 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mars 2024 - 31 mars 2005 à 10:31
bonjour

voila j'avais deja poster un message sur ce sujet et j'ai un peu avancé mais un probleme resiste

plage = Range("e65536").End(xlUp).Address
Set plagecalcul = Range("e4:" & plage)
Range(plage).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Formula = "=average( plagecalcul)"

je dois calculer la moyenne d'une colonne en me basant sur la derniere ligne occupé

a partir de se morceau de code j'arrive a selectionner la plage qui dois intervenir dans la formule mais la ligne : ActiveCell.Formula = "=average( plagecalcul)" me renvoie ds la cellule : =moyenne(plagecalcul)

j'aimerai avoir a la place de plagecalcul les references des cellules

comment faire ???

merci de votre aide
A voir également:

6 réponses

j'ai modifié une chose
en dessous de Set plagecalcul = Range("e4:" & plage)
j'ai mis

r=plagecalcul.address

mais ma formule me retourne =moyenne(7:7) c a dire la ligne ou dois etre insérer la formule
0
random Messages postés 1612 Date d'inscription vendredi 26 novembre 2004 Statut Membre Dernière intervention 30 mars 2006 155
30 mars 2005 à 11:19
je ne vois pas pourquoi tu veux gèrer la dernière formule
occupée
la fonction average ne prend en compte que les formules
non nulles et numériques
il suffit de mettre dans ta cellule
ActiveCell.Formula = "=average( e4:e65536)"

0
par je ne connais pas la dernier ligne
par exemple je saisie 10 lignes

quand je clic sur le bouton
la 1er cellule vide en dessous des 10 valeurs et selectionner
ds cette cellule est calculer la moyenne des 10 valeurs

si je saisie 20 lignes la cellule vide en dessous est selectionner et la formule dois calculer la moyenne des 20

voila pourquoi je ne peut pas spécifier une plage au départ
0
random Messages postés 1612 Date d'inscription vendredi 26 novembre 2004 Statut Membre Dernière intervention 30 mars 2006 155
30 mars 2005 à 11:43
mais si tu peux
tu connais la cellule de départ
par exemple e3
tu ne peux exceder e65536
si tu demandes moyenne(e3:e65536)
excel ne calculera que les cellules comportant une valeur numérique
les cellules vides (empty) ne sont pas prises pour zero
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
oui mais la formule je ne la met en en (e65536)

si ma formule dois se trouver en e20 excel ne prendra pas la plage (e4:e65536) sinon ca retourne une reference circulaire
0
Armojax Messages postés 1858 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mars 2024 1 528
30 mars 2005 à 19:04
Hello antic80,

Je suppose que tes nombres sont en colonne 1 de Feuil1.
Ligne = Sheets("Feuil1").Cells(65536, 1).End(xlUp).Row
Cells(Ligne, 1).Offset(1, 0).Value = Application.WorksheetFunction.Average(Range(Cells(1, 1), Cells(Ligne, 1)))


Armojax.
0
Bonjour,
Mes macros tourne seulement sur certain Pc et sur d'autre j'obtiens une compile error. Quelqu'un peut-il m'aider?

Voici l'erreur que j'obtiens:

Can't find Object or Library.

Ceci ce produit uniquement sur certain Pc.

Merci pour aide.

Paolo
0
Armojax Messages postés 1858 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mars 2024 1 528
31 mars 2005 à 10:31
Bonjour Paolo,

Par défaut sous Visual Basic pour Excel, tu as les librairies :
- Visual Basic for Applications
- Microsoft Excel nn.n Object Library (nn.n = 10.0, par exemple)

Selon ce que tu fais avec tes macros (liaisons avec d'autres applications Microsoft, etc.) tu peux avoir besoin de librairies supplémentaires, exemples :
- OLE Automation
- Microsoft Office nn.n Object Library
...

Sous VBA, va dans : Outils/Références... et coche les librairies supplémentaires dont tu as besoin.
Armojax.
0