[VBA Excel]

antic80 -  
Armojax Messages postés 1860 Date d'inscription   Statut Membre Dernière intervention   -
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

6 réponses

antic80
 
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   Statut Membre Dernière intervention   155
 
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
antic80
 
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   Statut Membre Dernière intervention   155
 
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
antic80
 
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 1860 Date d'inscription   Statut Membre Dernière intervention   1 528
 
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
Paolo
 
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 1860 Date d'inscription   Statut Membre Dernière intervention   1 528
 
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