Somme de cellules au sein d'une cellule

Blindavi Messages postés 23 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 24 juillet 2012 - 24 juil. 2012 à 11:25
Blindavi Messages postés 23 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 24 juillet 2012 - 24 juil. 2012 à 12:24
Bonjour le forum,

Je souhaiterais imposer une nouvelle valeur a une cellule qui serait sa valeur actuelle plus la somme des 13 cases précédentes.
Cependant, malgré le code ci dessous, je n'arrive pas a obtenir le résultat attendu et juste la formule écrite dans la cellule cible.

CurrentValue = ws_output.Cells(35, j_output + 1).Value
ws_output.Cells(35, j_output + 1).FormulaR1C1 = "=Sum(R[-13]C:R[-1]C)+CurrentValue"


Merci pour votre aide

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
24 juil. 2012 à 12:12
Bonjour,
Je ne pense pas que tu puisses réaliser ce que tu souhaites réaliser ...
Tu es en train de faire une formule avec une référence cyclique.. en gros... tu demandes à une cellule de se recalculer en prenant sa valeur + d'autres valeurs contenues dans des cellules...
A quelle moment doit-elle s'arrêter de compter ? au premier calcul.. ou sinon elle va s'incrémenter à l'infini....

A la rigueur, tu pourrais effectuer le calcul dans la macro puis coller le resultat (et non la formule) dans ta cellule... le tout déclenché par un bouton ou un évenement particulier sur ta feuille...


Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
Blindavi Messages postés 23 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 24 juillet 2012
24 juil. 2012 à 12:24
Je vois ce que tu veux dire mais c'est possible puisque je vais traiter mes valeur au cas par cas et imposer des nombres et pas uniquement utiliser des variables.
J'ai resolu le probleme a l'aide d'un autre confrere codeur :

Dim i As Integer
CurrentValue = ws_output.Cells(35, j_output + 1).Value
For i = -13 To -1
    CurrentValue = Cells(35, 3).Offset(i, 0) + CurrentValue
Next
ws_output.Cells(35, j_output + 1).Value = CurrentValue


Merci pour ton aide et ton temps

Cordialement
0
Rejoignez-nous