Formule Excel VBA

fgoul -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,


Je m'adresse à vous en tant que débutant sur Excel VBA,
Je chercher simplement à utiliser des variables afin de rendre plus simple le code suivant :

ActiveCell.FormulaR1C1 = _
"=MAX(0,'DS Inventory Movement'!R[11]C*'DS Inventory Movement'!R[8]C+'DS Inventory Movement'!R[12]C+'DS Inventory Movement'!R[9]C)"
Range("O15").Select
ActiveCell.FormulaR1C1 = _
"=MAX('DS Inventory Movement'!R[23]C*'DS Inventory Movement'!R[20]C+'DS Inventory Movement'!R[21]C+'DS Inventory Movement'!R[24]C)"
Range("O16").Select
ActiveCell.FormulaR1C1 = _
"=MAX('DS Inventory Movement'!R[35]C*'DS Inventory Movement'!R[32]C+'DS Inventory Movement'!R[33]C+'DS Inventory Movement'!R[36]C)"
Range("O17").Select


Mes lignes font toujours des bons de 12 et je dois changer de ligne pour chaque nouvelle réponse.

Merci

2 réponses

G_33
 
Bonsoir
c'est très confut
Un fichier + vos besoins nous aiderait à mieux comprendre

Cordialement
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

Si tous les éléments de ta formule sautent de 12 lignes comme tu le demandes mais cela ne correspond pas à ton code (sauts respectifs: 9 et 15....)
Movement'!R[12]C+'DS Inventory Movement'!R[9]C)"  
puis 
Movement'!R[21]C+'DS Inventory Movement'!R[24]C)" ????

essaies ce code
Sub yyy() 
Dim cptr As Byte, pas As Byte 
For cptr = 0 To 3 
     pas = cptr * 12 
     Cells(cptr + 14, "O").FormulaR1C1 = _ 
          "=MAX(0,'DS Inventory Movement'!R[11+pas)]C*'DS Inventory Movement'!R[8+pas]C+'DS Inventory Movement'!R[12+pas]C+'DS Inventory Movement'!R[9+pas]C)" 
Next 
End Sub

question: est les formules que tu veux obtenir (dans ce cas, utilité de VBA?) ou les valeurs
Michel
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour à tous,

heuu michel, tu n'aurais pas oublié des " et des & ?

"=MAX(0,'DS Inventory Movement'!R[" & 11+pas & "]C*'DS Inventory Movement'!R[" & 8+pas & "]C+'DS Inventory Movement'!R[" & "12+pas & "]C+'DS Inventory Movement'!R[" & 9+pas & "]C)"

eric
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour Eric, ça va? :o)

Oui, p'tet bin !!! mais comme je trouve le + souvent bizarre d'écrire des formules dans une procédure, je ne connais pas bien ce genre de syntaxe

en tout cas, merci et bon WE
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Ca va bien, merci
Bon WE à toi aussi :-)
eric
0