ecrire une formule dans excel via VBA (problème avec offset)

Sebwan

XLDnaute Nouveau
Bonjour à tous,

Je souhaite créer un programme qui m'inscrive une formule dans excel. Le problème que je rencontre est que je fais appel à des "offset" dans ma formule, et je ne sais pas comment les mettre dans le code.


J'ai le code suivant:
Code:
Sub test

Set LMT=ThisWorkbook.Worksheets("LMT")
Set Resum=ThisWorkbook.Worksheets("resum")
MP=Resum.Range("a1").Value
i=0

While MP <> ""

If LMT.Range("A48").Offset(i*42,0).Value="test1" Then

  For j=0 to 35
 
  LMT.Range("BE49").Offset(i*42+j,0).Formula="=If(A12.[B]Offset(i*42,j)[/B];A14.[B]Offset(i*42,j)[/B]*[B]$A18$.Offset(i*42,j)[/B],0)"
  

  Next j

End If

i=i+1
MP=Resum.Range("a1").Offset(i,0).Value
Wend

End sub

Mon problème se situe donc pour le offset pour que dans la formule je reçoive directement la bonne cellule.

Merci de votre aide!
 

Pyrof

XLDnaute Occasionnel
Re : ecrire une formule dans excel via VBA (problème avec offset)

Bonjour

Offset est une commande vba et pas une fonction excel

remplace :
A12.Offset(i*42,j)
par

l1=12+i*42
c1=1+J
LMT.Range("BE49").Offset(i*42+j,0).Formula="=If(R" & l1 & "C" & c1 &";A14.Offset(i*42,j)*$A18$.Offset(i*42,j),0)"
 

Discussions similaires

Réponses
6
Affichages
286

Statistiques des forums

Discussions
312 489
Messages
2 088 849
Membres
103 974
dernier inscrit
chmikha