vba : somme d'une zone variable de cellules

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

miguelangelo

XLDnaute Occasionnel
Bonjour à tous,

mon problème est que je veux dans une cellule la formule qui fasse le total d'une zone de cellules

ma macro génère un certain nombre de lignes d'écritures. je voudrais que le résultat ne soit pas un calcul cumulatif pendant la macro mais bien une formule qui fasse la somme des valeurs . (des valeurs doivent être rentrées manuellement)

dans l'exemple 1 :
donc, dans la colonne d du fichier joint, en d13 je veux une somme qui ferait :
=somme("d5:d12")

dans l'exemple 2 :
cette somme je la voudrais en d42 et donc serait
=somme("d5:d41")

ma base de travail s'appelle origine (dim as range) qui est tjs la cellule "compte". toutes les valeurs de se tableau sont générées par rapport à la cellule " origine"

je pensais à un code du genre
dim i as integer
.....
intégration des données
.....
i=i+1
'calcul du total
origine.offset(i,3)="sum(origine.offset(1,3): origine.offset(i-1,3))"

Merci pour votre aide
 

Pièces jointes

Re : vba : somme d'une zone variable de cellules

Bonjour
Comme ça peut être:
VB:
origine.Offset(i, 3) = "=SUM(OFFSET(R" & origine.Row & "C,1,0):OFFSET(RC,-1,0))"
en tout cas c'est ce que je ferais.
Sinon ça, ça devrait aussi donner le bon résultat:
VB:
origine.Offset(i, 3) = "=SUM(R" & origine.Row + 1 & "C:R[-1]C)"
À+
 
Re : vba : somme d'une zone variable de cellules

Bonjour,
En gros débrouillez-vous... avec ça !
La ligne d'origine peut-être déterminée si origine est un objet range, non ?
Code:
Lignedébut = origine.Row
...après un "certain temps", comme diraiit l'autre, ta macro arrive à la dernière ligne, non ?
Code:
LigneFin = x '???
donc dans la cellule suivant la dernière ligne
Code:
Cells(x + 1, 4).FormulaLocal = "=SOMME(D" & LigneDebut & ":D" & LigneFin & ")"
A+
kjin
 
Re : vba : somme d'une zone variable de cellules

Je m'aperçois que j'ai oublié une chose importante dans mes deux instruction: FormulaR1C1
VB:
origine.Offset(i, 3).FormulaR1C1 = "=SUM(OFFSET(R" & origine.Row & "C,1,0):OFFSET(RC,-1,0))"
origine.Offset(i, 3).FormulaR1C1 = "=SUM(R" & origine.Row + 1 & "C:R[-1]C"
À+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
415
Réponses
28
Affichages
6 K
Réponses
1
Affichages
2 K
Retour