Ecrire cette formule en format VBA

Bonjour,

svp je veux quelqu'n maide à ecrire cette formule en format vba :

AV9=SI(AR9>0;AT9*AU9;0)

AV10=SI(AR10>0;AT10*AU10;0)

....

...

AV40=SI(AR40>0;AT40*AU40;0)

j'ai essayé ça ma ça ne marche pas :

For i = 9 To 40

Feuil5.Cells(i,46)=SI(cells(i,42>0);cells(i,44)*cells(i,45);0)

Next i

Merci d'avance

Bonjour,

Le "SI" devient IF et prend cette forme.

Sub test()
Dim i As Integer
Dim QtAT As Integer
Dim QtAU As Integer

For i = 9 To 40
    If Range("AR" & i) > 0 Then
        QtAT = Range("AT" & i).Value
        QtAU = Range("AU" & i).Value
        Feuil1.Range("AV" & i).Value = QtAT * QtAU
    Else
        Feuil1.Range("AV" & i).Value = 0
    End If
Next i
End Sub

A+

Bonjour Malc, bonjour le forum,

La première macro écrit le résultat en dur :

Sub Macro1()
Dim O As Worksheet
Dim I As Byte

Set O = Worksheets("Feuil5")
For I = 9 To 40
    O.Cells(I, "AV").Value = IIf(O.Cells(I, "AR") > 0, O.Cells(I, "AT").Value * O.Cells(I, "AU").Value, 0)
Next I
End Sub

La seconde écrit les formules :

Sub Macro2()
Set O = Worksheets("Feuil5")
For I = 9 To 40
    O.Cells(I, "AV").FormulaR1C1 = "=IF(RC[-4]>0,RC[-2]*RC[-1],0)"
Next I
End Sub

Choisi ton camp...

[Édition]

Bonjour Geof, nos posts se sont croisés...

Rechercher des sujets similaires à "ecrire cette formule format vba"