Statistiques

Description

.ZIP disponible

le programme doit contenir 7 listbox :
list1 : Centres de classe
list2 : Effectifs
list3 : n(i).x(i)
list4 : Effectifs Cumulés Croissants (ECC) _
list5 : n(x(i)-X)² (ici X = x)
list6 et list7 : Intervales de classe
et une textbox en multiline :
text4

Source / Exemple :


'CALCULER LES CENTRES DE CLASSE
If Check1.Value = 1 Then
    List1.Clear
    For i = 0 To List6.ListCount - 1
        List1.AddItem Trim(Str((Val(List6.List(i)) + Val(List7.List(i))) / 2))
    Next i
End If

'CALCULER LE TOTAL DES EFFECTIFS
valb = 0
For i = 0 To List2.ListCount - 1
    valb = valb + Val(List2.List(i))
Next i
N = valb
Text4.Text = Text4.Text + "Total des effectifs :: " + Trim(Str(N)) + vbCrLf + vbCrLf

'CALCUL DE X BARRE
ValX = 0
For i = 0 To List1.ListCount - 1
    ValX = ValX + Val(List1.List(i)) * Val(List2.List(i))
Next i
X = ValX / N
Text4.Text = Text4.Text + "Moyenne = " + Trim(Str(X)) + vbCrLf + vbCrLf

'CALCUL DE Ni.Xi
List3.Clear
valb = 0
For i = 0 To List1.ListCount - 1
    valb = Val(List1.List(i)) * Val(List2.List(i))
    List3.AddItem Trim(Str(valb))
Next i

'CALCUL DE ECC
List4.Clear
valb = 0
For i = 0 To List2.ListCount - 1
    valb = valb + Val(List2.List(i))
    List4.AddItem Trim(Str(valb))
Next i

'CALCUL DE Ni(Xi-Xbarre)²
List5.Clear
valb = 0
For i = 0 To List1.ListCount - 1
    valb = (Val(List1.List(i)) - X) * Val(List2.List(i)) * (Val(List1.List(i)) - X)
    List5.AddItem valb
Next i

'CALCUL DE V
valv = 0
For i = 0 To List5.ListCount - 1
valv = valv + Val(List5.List(i))
Next i
V = valv / N
Text4.Text = Text4.Text + "Variance = " + Trim(Str(V)) + vbCrLf + vbCrLf

'CALCUL DE SIGMA
Sigma = Sqr(V)
Text4.Text = Text4.Text + "Ecart type = " + Trim(Str(Sigma)) + vbCrLf + vbCrLf

'CALCUL DES BORNES
borne1 = X - Sigma
borne2 = X + Sigma
Text4.Text = Text4.Text + "Borne 1 = " + Trim(Str(borne1)) + vbCrLf + "Borne 2 = " + Trim(Str(borne2)) + vbCrLf + vbCrLf

'CALCUL DU POURCENTAGE STATISTIQUE DE REGULARITE
'BORNE 1
For i = 0 To List6.ListCount - 1
    If borne1 > Val(List6.List(i)) And _
    borne1 < Val(List7.List(i)) Then
        aa1 = i + 1
        bb1 = (Val(List7.List(i)) - borne1) / 2 * Val(List2.List(i))
        Exit For
    End If
Next i
'BORNE 2
For i = 0 To List6.ListCount - 1
    If borne2 > Val(List6.List(i)) And _
    borne2 < Val(List7.List(i)) Then
        aa2 = i - 1
        bb2 = (borne2 - Val(List6.List(i))) / 2 * Val(List2.List(i))
        Exit For
    End If
Next i
Indice = 0
For i = aa1 To aa2
    Indice = Indice + Val(List2.List(i))
Next i
Indice = Indice + bb1 + bb2
Pourcent = Indice / N * 100
Text4.Text = Text4.Text + "Pourcentage de réussite correspondant à l'intervalle [x-o ; x+o] :: " + Trim(Str(Pourcent)) + "%"  

'LA SUITE C'EST POUR LE TRACE DU GRAPHIQUE
'IL FAUT UN Shape1(Index), une Line7(Index),
'une Line8(Index), un Label3(Index) et un 
'Label4(Index)
'APRES C'EST A VOUS D'ARRANGER POUR QUE CA
'FONCTIONNE (ZIP DISPONIBLE)

Function HistogrameDesEffectifs()

'HISTOGRAME DES STATISTIQUES
With Form1
    For i = 1 To .List1.ListCount - 1
        Load Shape1(i)
    Next i
    EffMax = 0
    For i = 0 To .List2.ListCount - 1
        If Val(.List2.List(i)) > EffMax Then EffMax = Val(.List2.List(i))
    Next
    MultiplicateurDeHauteur = 250 / EffMax
    NbEff = 376 / .List2.ListCount
    For i = 0 To .List1.ListCount - 1
        Shape1(i).Visible = True
        Shape1(i).Left = i * NbEff + 56
        Shape1(i).Width = NbEff + 1
        Shape1(i).Top = 273 - MultiplicateurDeHauteur * Val(.List2.List(i))
        Shape1(i).Height = 273 - Shape1(i).Top
    Next i
    For i = 1 To EffMax
        If EffMax > 20 Then
            If InStr(1, Trim(Str(i / 5)), ".") = 0 Or i = EffMax Then
                Load Line7(i)
                Line7(i).Visible = True
                Line7(i).Y1 = 273 - MultiplicateurDeHauteur * i
                Line7(i).Y2 = 273 - MultiplicateurDeHauteur * i
                Load Label4(i)
                Label4(i).Visible = True
                Label4(i).Top = 268 - MultiplicateurDeHauteur * i
                Label4(i).Caption = i
            End If
        Else
            Load Line7(i)
            Line7(i).Visible = True
            Line7(i).Y1 = 273 - MultiplicateurDeHauteur * i
            Line7(i).Y2 = 273 - MultiplicateurDeHauteur * i
            Load Label4(i)
            Label4(i).Visible = True
            Label4(i).Top = 268 - MultiplicateurDeHauteur * i
            Label4(i).Caption = i
        End If
    Next i
    For i = 1 To .List2.ListCount + 1
        Load Line8(i)
        Line8(i).Visible = True
        Line8(i).X1 = i * NbEff + 56
        Line8(i).X2 = i * NbEff + 56
        Load Label3(i)
        Label3(i).Visible = True
        Label3(i).Left = i * NbEff + 54
        Label3(i).Caption = .List7.List(i - 1)
    Next i
        Line8(0).X1 = 56
        Line8(0).X2 = 56
        Label3(0).Caption = .List6.List(0)
End With

End Function 

'POUR LE RESTE DU CODE, TELECHARGEZ LE ZIP !!!

Conclusion :


Le code est simple, n'hésitez pas à améliorer !!!

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.