Traduire une formule Excel en code VBA

Bonjour le forum,

Comment pourrais je traduire ces 2 formules types en code VBA ?

=SI('Base de données'!H3>0;ENT((AUJOURDHUI()-'Base de données'!H3)/365);" ")

=SI(GY3>0;GY3-'Base de données'!B3;SI('Base de données'!B3>0;AUJOURDHUI()-'Base de données'!B3;""))

Je voudrais ajouter ces 2 formules dans ce code :

 With Sheets("Base de données")
    Set Cel = .Columns("A").Find(what:=Range("A550"), LookIn:=xlValues, lookat:=xlWhole)
    If Not Cel Is Nothing Then
      If MsgBox("Un enregistrement à ce nom existe déja" & vbCr & vbCr & _
                "Voulez-vous le modifier", vbQuestion + vbYesNo + vbDefaultButton2, _
                "Modification") <> vbYes Then Exit Sub
      Ligne = Cel.Row
    Else
      Ligne = .Range("C" & Rows.Count).End(xlUp).Row + 1
    End If
    Application.ScreenUpdating = False

    Range("B550:HC550").Copy
    .Range("B" & Ligne).PasteSpecial Paste:=xlPasteValues
    .Range("A" & Ligne).FormulaR1C1 = "=RC[2]&"" ""&RC[3]"
    .Range("I" & Ligne).FormulaR1C1 = "=SI('Base de données'!H3>0;ENT((AUJOURDHUI()-'Base de données'!H3)/365);" ")"
    .Range("HA" & Ligne).FormulaR1C1 = "=SI(GY3>0;GY3-'Base de données'!B3;SI('Base de données'!B3>0;AUJOURDHUI()-'Base de données'!B3;""))"  
End With
  Application.CutCopyMode = False
End Sub

Merci d'avance pour toute aide,

Vincent

Bonjour

Utilise l'enregistreur de macro

tu copies la formule dans une cellule et tu valides.

Tu regardes ensuite le Code dans ta nouvelle macro

tu obtiens

ActiveCell.FormulaR1C1 = _
        "=IF('Base de données'!R[2]C[5]>0,INT((TODAY()-'Base de données'!R[2]C[5])/365),"" "")"
    Range("E1").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(R[2]C[202]>0,R[2]C[202]-'Base de données'!R[2]C[-3],IF('Base de données'!R[2]C[-3]>0,TODAY()-'Base de données'!R[2]C[-3],""""))"

Cordialement

Merci cette manip va bien m'aider !

Il y a un décalage de ligne dans les formules, mais je vais bien comprendre pourquoi !

bonne soirée

Rechercher des sujets similaires à "traduire formule code vba"