Boucle compteur sous conditions
Bonjour,
Je suis actuellement à la recherche d'aide pour comprendre une erreur sur une macro VBA qui est sensé me renvoyer une valeur moyenne de plusieurs cellules.
L'objectif de la macro est de remplir une case déterminé avec une valeur moyenne résultante d'un compteur d'un nombre de valeurs à prendre en compte. (Moyenne du temps du relai N°1, Moyenne du temps du relai N°2 etc...)
Dans l'image ci-joint, les colonnes surlignées sont les colonnes utiles pour la macro. Actuellement le compteur me renvoie le bon nombre de lignes a prendre en compte pour le relai 1 (22 temps à prendre en compte), mais la valeur moyenne calculée n'est pas bonne ...
Je me permets de vous joindre le fichier si jamais vous avez besoin de plus de renseignements. Il s'agit de la Macro du module 3 : Test_Relay
Merci d'avance pour l'aide ou les axes de réflexions que vous pourrez m'apporter !
Alex
Ps : Je suis nouveau dans le monde de la programmation et j'explique terriblement mal je suis désolé...
Sub Test_Relay()
Dim NbTr% 'Compteur du nombre de tour dans le relai
Dim Srelay As Double 'Valeur renvoyant la moyenne du relai
NbTr = 1
Srelay = 0
For i = 2 To 3054 'Nombre de lignes totales à balayer dans le tableau
j = 2
While Cells(j, "J") = Cells(j + 1, "J") 'La colonne J renvoie au numéro du relai
NbTr = NbTr + 1
j = j + 1
Wend
For y = i To NbTr
Srelay = Srelay + Cells(y, "L") 'La colonne L renvoie au temps au tour du pilote
Next y
Srelay = Srelay / NbTr
If Cells(i, "J") <> Cells(i - 1, "J") Then
Cells(i, "O") = Srelay 'Case à remplir avec la valeur moyenne du relai
End If
Srelay = 0
NbTr = 1
Next i
End Sub
Bonjour,
Je n'ai pas essayé de comprendre ton code. un essai:
Dim NbTr%, DL As Integer, TCumul As Double, i As Integer, CelDeb As Integer
DL = Range("A" & Rows.Count).End(xlUp).Row
NbTr = 0
TCumul = 0
CelDeb = 2
For i = 2 To DL
NbTr = NbTr + 1
TCumul = TCumul + Cells(i, 12)
If Cells(i, 10).Value <> Cells(i + 1, 10).Value Then
Cells(CelDeb, 15).Value = TCumul / NbTr
CelDeb = i + 1
NbTr = 0
TCumul = 0
End If
NextA+
Tu es juste un génie merci je vais essayer de comprendre ce qui n'a pas marché dans le mien et comparer avec ce que tu as utilisé !
Bonne soirée !