[excel] fonction VBA

Résolu
cs_Liro Messages postés 159 Date d'inscription jeudi 7 septembre 2006 Statut Membre Dernière intervention 30 septembre 2011 - 26 juil. 2007 à 22:35
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 27 juil. 2007 à 09:47
Bonsoir,

Je souhaite écrire dans une cellule une formule du type:
ActiveCell.Formula = "=SOMME(A2:" & ActiveCell.Offset(1, 0) & ")"

Mais la syntaxe n'est pas correct.
Merci pour votre aide!

Liro

7 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
26 juil. 2007 à 23:10
ActiveCell.Formula = "=SUM(A2:" & ActiveCell.Offset(1, 0).Address(False, False, xlA1) & ")"

Et pour Offset, c'est à toi de voir, mais perso j'aurais plutot mis -1

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 juil. 2007 à 23:00
utilises FormulaLocal, dans ton cas, vu que tu utilises SOMME et non SUM

je te conseille donc d'utiliser la version traduite

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_Liro Messages postés 159 Date d'inscription jeudi 7 septembre 2006 Statut Membre Dernière intervention 30 septembre 2011
26 juil. 2007 à 23:19
Merci mais le problème ne vient pas de là.

Je fais référence à A2 et à la cellule à côté de celle ou je suis (activecell.offset).

La cellule est placée dans la case mais A2 et entouré de ' comme ça 'A2' du coup au lieu d'afficher le résultat il est écrit #NOM.

Liro
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 juil. 2007 à 23:21
donnes nous ton code actuel

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0

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

Posez votre question
cs_Liro Messages postés 159 Date d'inscription jeudi 7 septembre 2006 Statut Membre Dernière intervention 30 septembre 2011
26 juil. 2007 à 23:23
Merci Casy.

Je ne comprends pas -1?

Liro
0
cs_Liro Messages postés 159 Date d'inscription jeudi 7 septembre 2006 Statut Membre Dernière intervention 30 septembre 2011
26 juil. 2007 à 23:27
C'est bon ça marche!
Merci à tous les deux, je voudrais juste comprends

Casy à dit:
"Et pour Offset, c'est à toi de voir, mais perso j'aurais plutot mis -1"

Dernière petite question:
Vous faites comment pour apprendre ces trucs?
J'utilise l'aide, j'enregistre des macros et je lis le code enregistré, je lis les forums... mais pour savoir ou trouver qu'il fallait ajouter
Address(False, False, xlA1)
sur ma formule.... je sais pas comment vous faites! :)

Liro
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
27 juil. 2007 à 09:47
Pour le -1 je vais t'expliquer.

Si on reprend ton code (donc avec 1) et en supposant que la cellule active soit A9, tu va écrire en A9 la formule suivante "= SUM(A2:A10).
Offset(1,0) de A9 = A10
Ainsi tu englobe dans la plage de cellules à sommer, la cellule contenant la formule et donc le résultat de la somme. Ca ne peut pas marcher.

Dans ce c as précis j'aurais plutot dit que tu voulais faire la somme de A2 à A8 avec le résultat en A9. Donc A8 par rapport à A9 donne Offset(-1,0)

Et pour "apprendre ces truc", ben comme tout le monde, avec l'aide.

Petite astuce. Quant tu as affaire à des objets comme ça (ActiveCell.Offset(1, 0) pointe vers un objet cellule) si tu rajoute un . de suite après, l'ide de VBA devrais t'ouvrir pendant quelques instants un petit popup te donnant la liste des propriétés ou methodes associées à cet objet. Il suffit de reperer celle(s) qui pourrait + ou - à ce que tu cherche et regarder dans l'aide la signification. .Address, je ne l'ai pas inventé, c'est VBA qui me l'a proposer.

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Rejoignez-nous