Moyenne avec valeurs non continues
Résolu
tibo56
-
melanie1324 Messages postés 1504 Date d'inscription Statut Membre Dernière intervention -
melanie1324 Messages postés 1504 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Moyenne avec valeurs non continues
- Excel moyenne - Guide
- Moyenne en anglais excel - Guide
- Excel liste de valeurs - Guide
- Moyenne heure excel ✓ - Forum Excel
- Quand on visite cette page, des messages sont échangés entre le navigateur et le site web. des extraits des messages échangés lors de la première connexion sont reproduits ci-dessous. des valeurs ont été remplacées par des numéros. retrouvez chacune de ces valeurs. - Forum Windows 10
2 réponses
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
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