Moyenne sous contraintes

-maroon- Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
-maroon- Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je me permets de solliciter votre aide pour m'aider à comprendre un code qui est très flou pour moi!! Je mais aussi un fichier exemple pour voir ce qu'il réalise.

C'est un code qui doit calculer la moyenne des valeurs présentes dans une colonne pour chaque groupe ayant la même référence (valeur associée dans une autre colonne). Il génère 2 colonnes: 1 avec les moyennes et l'autre avec la référence pris en compte. J'aimerais par exemple ne générer que la colonne des moyennes...

Tout commentaire/explication sur les différentes étapes seront les bienvenues!! En particulier celles que j'ai indiquées dans le code. Un grand merci d'avance!! :)
Sub test()

Dim dat1 As Range, dat2 As Range, plage As Range
Dim i&, b(), s(), v()
Dim ip As Object

With Worksheets("feuil1")
Set ip = CreateObject("scripting.dictionary")
Set dat1 = Worksheets("feuil1").Range(.Range("B1"), .Range("B14").End(xlDown))
Set dat2 = Worksheets("feuil1").Range(.Range("L1"), .Range("L14").End(xlDown))

b = dat1.Value
s = dat2.Value

For i = 2 To UBound(b)
If Not IsEmpty(b(i, 1)) And Not IsEmpty(s(i, 1)) And IsNumeric(s(i, 1)) Then
If ip.Exists(b(i, 1)) Then 'les 6 lignes suivantes sont très floues pour moi
v = ip(b(i, 1))
v(0) = v(0) + s(i, 1): v(1) = v(1) + 1
ip(b(i, 1)) = v
Else
ip.Add b(i, 1), Array(s(i, 1), 1)
End If
End If
Next
b = ip.Keys 'ici on attribue les clés et items aux variables a et b
s = ip.Items
ReDim v(UBound(b) - (UBound(b) < 0), 1) ' Ici c'est la 1ere fois que je vois "Ubound" utilisé comme ça

For i = 0 To UBound(b) 'on calcul la moyenne ici? Mais c'est pas clair du tout!
v(i, 0) = b(i)
v(i, 1) = s(i)(0) / s(i)(1)
Next

Set plage = Worksheets("feuil1").Range("A1").End(xlToRight)(2, 2)

plage.Resize(i - (i = 0), 2).Value = v

End With

End Sub



A voir également:

1 réponse

-maroon- Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Je ne vois pas où mettre une PJ!
0