[excel] fonction VBA [Résolu]

cs_Liro 159 Messages postés jeudi 7 septembre 2006Date d'inscription 30 septembre 2011 Dernière intervention - 26 juil. 2007 à 22:35 - Dernière réponse : cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention
- 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
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 26 juil. 2007 à 23:10
3
Merci
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

Merci cs_casy 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 85 internautes ce mois-ci

Commenter la réponse de cs_casy
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 26 juil. 2007 à 23:00
0
Merci
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
Commenter la réponse de Renfield
cs_Liro 159 Messages postés jeudi 7 septembre 2006Date d'inscription 30 septembre 2011 Dernière intervention - 26 juil. 2007 à 23:19
0
Merci
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
Commenter la réponse de cs_Liro
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 26 juil. 2007 à 23:21
0
Merci
donnes nous ton code actuel

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Commenter la réponse de Renfield
cs_Liro 159 Messages postés jeudi 7 septembre 2006Date d'inscription 30 septembre 2011 Dernière intervention - 26 juil. 2007 à 23:23
0
Merci
Merci Casy.

Je ne comprends pas -1?

Liro
Commenter la réponse de cs_Liro
cs_Liro 159 Messages postés jeudi 7 septembre 2006Date d'inscription 30 septembre 2011 Dernière intervention - 26 juil. 2007 à 23:27
0
Merci
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
Commenter la réponse de cs_Liro
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 27 juil. 2007 à 09:47
0
Merci
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
Commenter la réponse de cs_casy

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.