Matrice function fréquence de sortie
Bonjour,
J'ai une plage de n°, et je cherche a trouver comment les n° le + sortie avec un n°.
Explication:
Combien de n° sont sortie le plus souvent par rapport à 1 n°.
Exemple: le n°1 est sortie le + souvent par ordre croissant, avec le 22-51-18-6-63
J'ai trouvé sur le web le code d'une Funcion "Fréquence":
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
Option Explicit
'Ti : novembre 2009
Function FrequenceDessus(Plage As Range, ByVal Valeur%) 'Ti
Dim Tabl, TbRef&(), TbFreq%()
Dim i&, j&, V%, MaxV&, Index%
ReDim TbFreq(1 To 1, 1 To Application.Caller.Columns.Count)
Tabl = Plage.Value
ReDim TbRef(1 To WorksheetFunction.Max(Plage))
For i = 1 To UBound(Tabl) - 1
If WorksheetFunction.CountIf(Plage.Offset(i).Resize(1), Valeur) > 0 Then
For j = 1 To UBound(Tabl, 2)
V = Tabl(i, j)
If (V >= LBound(TbRef) And V <= UBound(TbRef)) Then TbRef(V) = TbRef(V) + 1
Next j
End If
Next i
MaxV = WorksheetFunction.Max(TbRef)
If MaxV = 0 Then FrequenceDessus = TbFreq: Exit Function
For i = 1 To UBound(TbRef)
If TbRef(i) = MaxV Then
Index = Index + 1
TbFreq(1, Index) = i
If Index = UBound(TbFreq, 2) Then Exit For
End If
Next i
FrequenceDessus = TbFreq
End Function |
Puis un exemple de matrice qui appelle cette fonction.
Code:
1 2
|
=FREQUENCE(SI(FREQUENCE(SI($A$2:$T$240=W1;LIGNE(1:239));LIGNE(1:239));SI($A$2:$T$241<>W$1;$A$2:$T$241));$V2:$V71) |
Le probleme, est que n'arrive pas à changer la plage et les lignes
Chaque fois j'ai une erreur "Impossible de modifier une partie de matrice"
Le but est de trouver le nombre de n° sortie avec les n°1 à 70 sur une période.
Merci d'avance à la personne qui voudra bien m'aider à rédsoudre cette problématique.
Cordialement
ps: ci-joint un fichier Excel