Les formules Excel dans VBA

Laurent Blanc -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je souhaiterai mettre dans une celulle, la formule de la moyenne d'une plage de données.

La fonction lorsque j'enregistre une macro est celle-ci (c'est un exemple)

Range("D12").Select
    ActiveCell.FormulaR1C1 = "=AVERAGE(RC[-1]:R[7]C[-1])"


mais moi, je voudrai obtenir quelque chose comme ceci :

Range("D" & i).Formula = "=Average(Range("J" & e & ":J" & f))"


ça me dit : "Erreur d'instruction"..je ne vois pas le pb, pourriez-vous m'aider s'il vous plait ? Merci d'avance

1 réponse

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    Je suppose que e et f sont des variables de type Integer (i également). Donc :

    Sub test() 
    Dim e As Integer, f As Integer, i As Integer 
    Dim Formule As String 
    e = 1 
    f = 5 
    Formule = "=AVERAGE(" & Cells(e, 10).Address & ":" & Cells(f, 10).Address & ")" 
    Range("D12").Value = Formule 
    End Sub


    Code trouvé sur CommentCaMarche.net

    Il existe d'autres méthodes évidemment...
    Cordialement,
    -- Il n'y a rien de tel qu'une question idiote, seulement une réponse idiote. A.Einstein --
    0