Formule Excel VBA
fgoul
-
eriiic Messages postés 25847 Statut Contributeur -
eriiic Messages postés 25847 Statut Contributeur -
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
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
A voir également:
- Formule Excel VBA
- Formule si et excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Liste déroulante excel - Guide
- Excel mise en forme conditionnelle formule - Guide
- Formule somme excel ligne - Guide
2 réponses
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....)
essaies ce code
question: est les formules que tu veux obtenir (dans ce cas, utilité de VBA?) ou les valeurs
Michel
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