Incorporer une adresse de cellule à une fonction FormulaR1C1

Bonjour à tous !

J'essaye de trouver une solution pour incorporer une fonction de calcul simple en passant par VBA

Le résultat devrait être le suivant dans ma cellule après le passage de la macro : =-(I80-H80) qui me donne directement le résultat comme si je notais directement la formule dans la cellule.

Dans un premier temps j'ai récupéré la colonne et ligne des cellules qui m'intéresse.

Ce qui fait que j'ai deux cellules :

Cells(row1,column1) et Cells(row2,column2)

Je voudrais convertir en Range pour avoir l'affichage standard :

Dim Index1 As String, Index2 As String

Index1 = Cells (row1,column1) .Address(RowAbsolute:=False, ColumnAbsolute:=False)
Index2 = Cells(row2,column2) .Address(RowAbsolute:=False, ColumnAbsolute:=False)

Et je souhaite avoir ce résultat dans une troisième cellule, comme si je l'avais tapé à la main :

Cells(row3,column3).FormulaR1C1 = "=-(" & Index1 & "-" & Index2 & ")"

Sauf qu'en résultat j'ai : =-('I80'-'H80')

J'ai essayé de faire un Replace pour enlever les ', substring, mais rien à faire. Je ne sais pas si c'est possible d'ôter ces ' du résultat.

J'ai essayé de faire un fichier test synthétisant le problème, j'ai un autre résultat, mais toujours pas le bon

Si quelqu'un à une idée, je suis prenneur :)

2testexcel.xlsm (13.06 Ko)

Bonjour

Sachant que ta formule doit avoir des cotations (Crochets, guillémets) tu dois en mettre double soit "" ""

Bonjour MrToken et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum.

Bonjour Nathalie

Concernant votre question, je vous conseille de na pas utiliser FormulaR1C1, mais FormulaLocal,
ce qui donne si on veut définir les cellules concernées ailleurs

Sub Test2()
  Dim Cel1 As Range, Cel2 As Range
  Set Cel1 = Range("C3"): Set Cel2 = Range("C4")
  Range("C5").FormulaLocal = "=-(" & Cel1.Address & "-" & Cel2.Address & ")"
End Sub

A+

Edit : mauvaise manip, désolé

Super !

Merci à vous, j'avais jamais poussé sur la différence entre FormulaR1C1, Formula et FormulaLocal.

ça fonctionne impeccable comme ça ! :)

Rechercher des sujets similaires à "incorporer adresse fonction formular1c1"