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

  • Initiateur de la discussion Initiateur de la discussion Fab117
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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.
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
1 K
Retour