VBA excel +moyenne

Bonjour,
J'ai programmé un code dans lequel j'obtiens la moyenne d'une colonne X. Je voudrais savoir comment faire d'automatiser pour que j'obtienne la colonne Y. Voici mon code:

For w = 0 To 3

If numberOfDays = 31 Then
Cells(35, w + 2) = "=Average(B4:B34)"
End if
Je voudrais donc, lorsque w va être égal à 1, que mon Average soit de C4:C34, et lorsque w=2, average sera de D4:D34 et ainsi de suite.

Merci beaucoup
Configuration: Windows Vista
Internet Explorer 7.0

4 réponses

  1. Contributeur
    bonjour

    essaye ca, pas testé

    For w = 0 To 3 
         If numberOfDays = 31 Then
             lettre = mid("BCDE",w+1,1)  
             Cells(35, w + 2).formula = "=Average(" & lettre & "4:" & lettre & "34)" 
         End if 
    next w
    
    1. Rebonjour,

      Désolé mon ignorance, mais je tente depuis tantôt de modifier le code que tu m'as donné pour que la moyenne s'affiche sur les lignes maintenant, mais je ne suis toujours pas capable d'y parvenir. Voici mon code, le but étant encore une fois de faire la moyenne sur une ligne. Donc lorsque q=1, Average(B4:E4) et lorsque q=2, Average(B5:E5) et ainsi de suite. Merci encore a l'avance

      For q = 1 To numberOfDays
      Cells(3 + q, 6).Formula = "=Average(" & B & "q+3:" & E & "q+3)"

      Next q
      1. Contributeur
        re:

        le & est un operateur de concatenation, il ne doit pas se trouver à l'interieur des guillemets

        "=average(B" & q+3 & ":E" & q+3 & ")"

        maintenant une autre methode plus rapide(sans boucle)
        Range("F4").Formula = "=Average(B4:E4)"
        range("F4:F" & 3 + numberOfDays).filldown ' simule une selection de la plage avec une Ctrl+B (Copie de la formule vers le bas)