Moyenne avec valeurs non continues

Résolu/Fermé
tibo56 - 6 août 2013 à 12:26
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 6 août 2013 à 13:34
Bonjour,


J'ai un petit soucis dans ma boucle de calcul. Je cherche à réaliser une moyenne qui comprend un intervalle continu suivi d'une valeur seule.

J'ai une erreur 1004 d'objet que je n'arrive pas à résoudre.

Merci d'avance!!

Voici la macro:

Sub moyenne2()

Dim i, derlig1, derligmoy As Integer
Dim Formule As String
Set WsS1 = ThisWorkbook.ActiveSheet 'feuille source
derlig1 = WsS1.Range("A" & Rows.Count).End(xlUp).Row 'je définis la dernière ligne de mon tableau que je souhaite copier
derligmoy = derlig1 - 2 'je définis la dernière colonne de mon tableau que je souhaite copier
MsgBox (derligmoy)


With WsS1

For i = 8 To derligmoy Step 1
If .Cells(i, 2) = "PJM" Then
WsS1.Cells(i, 30).Value = "=AVERAGE(" & Cells(i, 6).Address & ":" & Cells(i, 29).Address & ")"
WsS1.Cells(i, 31).Value = "=AVERAGE(" & Cells(i, 12).Address & ":" & Cells(i, 28).Address & ")"

Voici ma ligne qui a un problème :
==>>>>>>
WsS1.Cells(i, 32).Value = "=AVERAGE(" & Cells(i, 6).Address & ":" & Cells(i, 11).Address & Cells(i, 29).Address & ")"

==>>>>>>

End If
Next i

End With

2 réponses

melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
6 août 2013 à 13:25
Coucou,

remplaces ton code par :

Sub moyenne2()

Dim i, derlig1, derligmoy As Integer
Dim Formule As String
Set WsS1 = ThisWorkbook.ActiveSheet 'feuille source
derlig1 = WsS1.Range("A" & Rows.Count).End(xlUp).Row 'je définis la dernière ligne de mon tableau que je souhaite copier
derligmoy = derlig1 - 2 'je définis la dernière colonne de mon tableau que je souhaite copier
MsgBox (derligmoy)


With WsS1

For i = 8 To derligmoy Step 1
If .Cells(i, 2) = "PJM" Then
WsS1.Cells(i, 30).Value = "=AVERAGE(" & Cells(i, 6).Address & ":" & Cells(i, 29).Address & ")"
WsS1.Cells(i, 31).Value = "=AVERAGE(" & Cells(i, 12).Address & ":" & Cells(i, 28).Address & ")"

'tu as oublié le ;
WsS1.Cells(i, 32).Value = "=AVERAGE(" & Cells(i, 6).Address & ":" & Cells(i, 11).Address & "," & Cells(i, 29).Address & ")"

End If
Next i

End With
0
Merci beaucoup! Quel étourdi... Parfois un regard extérieur fait du bien! Merci
0
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
6 août 2013 à 13:34
peux tu mettre le pb en resolu stp.
0