.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 !!!
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.