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 :
1° 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)
2° 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)
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ù...
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
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