XL 2016 VBA : Ecrire une formule avec calculs dans d'autres feuilles

Fab117

XLDnaute Impliqué
Hello,
Je cherche à ce que ma macro écrive une formule dans la cellule E39.
Cette formule additionnera des chiffres trouvés dans un autre onglet.

J'ai trouvé comment faire écrire la formule dans la cellule E39
Code:
Worksheets("Pt par date").Cells(39, 5).Formula = "=Sum(D8:E10)"


J'arrive également à aller chercher des données "fixes" dans un autre onglet
Code:
Worksheets("Pt par date").Cells(39, 5).Formula = "=Suivi!I22+Suivi!L32"


Par contre, les données à aller chercher varieront et seront défini dans une variable (i) (où i sera un numéro de colonne). Et il n'accepte pas :
Code:
i = 6
Worksheets("Pt par date").Cells(39, 5).Formula = "=Suivi!Cells(3, i) + Suivi!Cells(4, i))"

J'ai aussi essayé sans succès :
Code:
i = 6
Worksheets("Pt par date").Cells(39, 5).Formula = "=Suivi!" & Cells(3, i) & " + Suivi!" & Cells(4, i) & ")"

Quelqu'un connaitrait-il la solution ?
Merci d'avance et excellent lundi

Fab
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

On peut faire comme ci-dessous (deux syntaxes)
Code:
Sub test()
Dim i&
i = 6
Worksheets(1).Cells(39, "E").FormulaR1C1 = "=Suivi!R3C" & i & "+Suivi!R4C" & i
Worksheets(1).Cells(40, "E") = Application.Sum(Sheets("Suivi").Cells(3, i).Resize(2))
End Sub

NB: Je te laisse faire les modifs nécessaires pour que cela colle à ton classeur.
 

Staple1600

XLDnaute Barbatruc
Re

Histoire de varier les plaisirs ;)
D'autres syntaxes possibles
(NB: je te laisse faire les adaptations pour les références des cellules, que j'ai changé pour simplifier mes tests)
VB:
Sub test_II()
Dim i&
i = 6
With Sheets("Suivi")
Worksheets(1).Cells(1, "E").Formula = "=Suivi!" & .Cells(3, i).Address & "+Suivi!" & .Cells(4, i).Address
End With
End Sub
Sub test_III()
Dim i&, f As Worksheet: Set f = Sheets("Suivi")
i = 6
Worksheets(1).Cells(2, "E") = f.Cells(3, i) + f.Cells(4, i)
End Sub
Sub test_IV()
Dim i&, R As Range, X$
i = 6
Set R = Sheets("Suivi").Cells(3, i).Resize(2): X = R.Parent.Name & "!" & R.Address
Worksheets(1).Cells(4, 5) = "=SUM(" & X & ")"
End Sub
 

Fab117

XLDnaute Impliqué
La première
Code:
Worksheets("Pt_par_date").Cells(4, particantI * 2 + 1).FormulaR1C1 = "=Suivi!R4C" & 3 * particantI + 5 & "+Suivi!R11C" & 3 * particantI + 5 & "+Suivi!R12C" & 3 * particantI + 5

Avec la 2ème, j'avais le résultat du calcul, mais pas la formule.
Et quand j'ai vu les autres, j'avais déjà tout fait avec succès avec la 1ère.

Encore merci

Fab
 

Discussions similaires

Réponses
5
Affichages
933

Statistiques des forums

Discussions
312 174
Messages
2 085 951
Membres
103 058
dernier inscrit
florentLP