Compréhension Formule SUM

StrikeBEH

XLDnaute Occasionnel
Bonsoir à tous,

J'ai trouvé une formule permettant d'additionner plusieurs lignes mais je n'arrive pas à comprendre les paramètres...

Quelqu'un pour m'expliquer ?

Code:
Range("J3") = "=SUM(RC[-4]:R[197]C[-4])"

Par avance, merci à vous.
 

Isab

XLDnaute Occasionnel
Re : Compréhension Formule SUM

Bonjour

ceci dans la barre des formules excel peut-être comme ceci:

=SOMME(F3:F200)

il faut renvoyer la formule par macro dans une cellule / ensuite , cliquer et regarder dans la barre des formule

bonne soirée
 

Victor21

XLDnaute Barbatruc
Re : Compréhension Formule SUM

Bonsoir, StrikeBEH, Isab :)

Range("J3") = "=SUM(RC[-4]:R[197]C[-4])"
signifie que J3 est égal à la somme des valeurs présentes dans la zone délimitée par :
RC[-4] :
R(même Range ou ligne que la cellule de référence),
C[-4] (4° Column ou colonne avant celle de la cellule de référence)

R[197]C[-4] :
R[197] (197° range ou ligne après la cellule de référence),
C[-4] (4° Column ou colonne avant celle de la cellule de référence)
 
Dernière édition:

StrikeBEH

XLDnaute Occasionnel
Re : Compréhension Formule SUM

J'ai bien compris grâce à vous et j'ai réussi à mettre tout cela en pratique !

Mais j'aurai une autre question par rapport au même code, et là vous allez me dire: "quel chiant" ! ;);)

Par rapport au code:
Range("I4") = "=SUM(R[1]C[-7]:R[100]C[-7])"
Peut-on remplacer la valeur "100" par une variable ("i" par exemple afin qu'à chaque fois qu'une ligne est rajouté, le calcul se fasse sur la variable "i" incrémentée ???

En clair, pour avoir:

Code:
Range("I4") = "=SUM(R[1]C[-7]:R[i]C[-7])"
où i=8 par exemple...

A chaque fois qu'une ligne est rajoutée dans le tableau, la variable est incrémenté en fonction du nombre de lignes.

Je peux fournir la boite de Doliprane au cas où... :D
 
Dernière édition:

StrikeBEH

XLDnaute Occasionnel
Re : Compréhension Formule SUM

Bonjour,
En fait, nul besoin d'utiliser une variable pour ce genre de formule...
Je m'explique !
J'utilise un UserForm pour générer un tableau avec les infos du UserForm et ces infos sont ensuite ajouter sur la prochaine ligne vide du tableau. Ensuite je sélectionne toutes les opérations et j'effectue un tri croissant en fonction de la date.
Je me suis compte qu'il suffisait de déclaré la formule
Range("I4") = "=SUM(R[1]C[-7]:R[100]C[-7])"
une seule fois et qu'ainsi le calcul se faisait automatiquement à chaque fois qu'une ligne est rajoutée !
J'ai donc ajouter cette ligne dans
Private Sub UserForm_Initialize()
et c'est tout, plus besoin de s'en occuper.
J'ai limiter le calcul à 100 lignes mais s'il y a plus de 100 il suffit de faire un test et de changer la formule ainsi:
If nbLigne=100 then ' nbLigne pour le nombre de lignes du tableau
Range("I4") = "=SUM(R[1]C[-7]:R[150]C[-7])" ' Rajoute 50 lignes, donc calcul sur 150 lignes
End If

Si cela peut en aider certains...

Bonne journée à tous,
 

Discussions similaires

Réponses
8
Affichages
266
Réponses
14
Affichages
661

Statistiques des forums

Discussions
312 235
Messages
2 086 476
Membres
103 228
dernier inscrit
malik832