Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Créer une ligne de calcul en vba sans perdre la formule

Novice avance !?

XLDnaute Occasionnel
bonsoir,

le problème a peut-être une solution des plus simple et je passe complètement à côté !?

mon code vba prend la valeur d'une celulle et d'une autre et en calcule simplement la somme dans une autre.

exemple pour faire simple :
Code:
cells(3,5)=cells(1,5)+cells(2,5)
mais n'aparait biensur en E3 donc que la valeur de la somme calculer en vba de E1 + E2

maintenant si je change manuellent la valeur de E1 et bien E3 ne recalcule rien puisque qu'il n' y a pas de formule.

comment remplacer
Code:
 cells(3,5)=cells(1,5)+cells(2,5)
par un code qui en cells(3,5) génère une formule pour calculer les 2 autres cellules ?

un problème simple avec une explication peut-être compliquer...désoler

merci par avance
bon week-end
 

Papou-net

XLDnaute Barbatruc
Re : Créer une ligne de calcul en vba sans perdre la formule

Bonsoir Novice avance,

Ajoute simplement ce code sur le module de ta feuille de caclcul :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E1:E2")) Is Nothing Then Range("E3") = Range("E1") + Range("E2")
End Sub
Bon WE.

Cordialement.
 

Dranreb

XLDnaute Barbatruc
Re : Créer une ligne de calcul en vba sans perdre la formule

Bonjour.
Un peu nébuleux tout ça, je trouve…
comment remplacer
Code :
cells(3,5)=cells(1,5)+cells(2,5)
par un code qui en cells(3,5) génère une formule pour calculer les 2 autres cellules ?
Une formule dans une cellule ne peut pas calculer d'autres cellules que celle qui la porte, et on ne peut donc pas installer une formule qui le ferait.
À part ça une instruction qui installerait la formule calculant la même somme,
avec les dollars ca pourrait être :
VB:
Cells(3, 5).FormulaR1C1 = "=R1C5+R2C5"
et sans les dollars :
VB:
Cells(3, 5).FormulaR1C1 = "=R[-2]C+R[-1]C"
ou encore :
VB:
Cells(3, 5).Formula = "=E1+E2"
À +
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…