Bonjour, après de multiples essaies je n'arrive pas a obtenir l'effet escompter : je souhaite faire la moyenne du sur les lignes "Total L06" et ce pour chaque ligne (voir image en fin de poste pour comprendre ce que je viens de raconter). Dans l'idée je compte le nombre de valeur 100 et la divise par le nombre de valeur 0% et 100 pour obtenir la moyenne souhaité. Pour cela mon Code de dernière date est le suivant :
'numérateur moyenne totale de ligne
ComptMoy = 0
'dénominateur moyenne de ligne
NumMoy = 0
'sert a repérer les lignes total
Reptotgen = 0
'numérateur moyenne totale de flacons/tubes
totgen = 0
'dénominateur moyenne totale de flacons/tubes
compttotgen = 0
For Each d In Sheets("Tableau de Bord ").Range("D87200")
For Each e In Sheets("Tableau de Bord ").Range("E87:E200")
If d.Value = "" Then
Reptotgen = 0
ComptMoy = ComptMoy + 1
If e.Value = 100 Then
NumMoy = e.Value + NumMoy
End If
End If
If d.Value <> "" Then
Reptotgen = Reptotgen + 1
If Reptotgen = 1 Then
e.Value = (NumMoy * 100) / ComptMoy
totgen = e.Value + totgen
compttotgen = compttotgen + 1
ElseIf Reptotgen = 2 Then
e.Value = totgen / compttotgen
comptotgen = 0
totgen = 0
End If
ComptMoy = 0
NumMoy = 0
End If
Next
Next
Comment je sais que mon code ne marche pas: j'obtiens des moyennes négatives (présentes sur le tableau d'origine) :
Merci à ceux qui prendrons le temps de m'aider. Arthur
'numérateur moyenne totale de ligne
ComptMoy = 0
'dénominateur moyenne de ligne
NumMoy = 0
'sert a repérer les lignes total
Reptotgen = 0
'numérateur moyenne totale de flacons/tubes
totgen = 0
'dénominateur moyenne totale de flacons/tubes
compttotgen = 0
For Each d In Sheets("Tableau de Bord ").Range("D87200")
For Each e In Sheets("Tableau de Bord ").Range("E87:E200")
If d.Value = "" Then
Reptotgen = 0
ComptMoy = ComptMoy + 1
If e.Value = 100 Then
NumMoy = e.Value + NumMoy
End If
End If
If d.Value <> "" Then
Reptotgen = Reptotgen + 1
If Reptotgen = 1 Then
e.Value = (NumMoy * 100) / ComptMoy
totgen = e.Value + totgen
compttotgen = compttotgen + 1
ElseIf Reptotgen = 2 Then
e.Value = totgen / compttotgen
comptotgen = 0
totgen = 0
End If
ComptMoy = 0
NumMoy = 0
End If
Next
Next
Comment je sais que mon code ne marche pas: j'obtiens des moyennes négatives (présentes sur le tableau d'origine) :
Merci à ceux qui prendrons le temps de m'aider. Arthur