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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
Private Sub CommandButton1_Click()
Dim liste As New Collection
Dim i As Long, DerniereLigne As Long
Dim k, colonne As Variant
Dim nbinf, nbsup, nbegal As Long
Dim resultat() As Long
Dim typedepari As Integer
typedepari = 0
colonne = 0
If OptionButton1.Value = True And CheckBox1.Value = True Then typedepari = 5 ' quintesomme
If OptionButton1.Value = True And CheckBox2.Value = True Then typedepari = 55 ' quintemultiplication
If OptionButton2.Value = True Then typedepari = 4 'quarte
If OptionButton3.Value = True Then typedepari = 3 'tierce
Select Case typedepari
Case 5 'somme qunte
'pour le quinte
DerniereLigne = Range("j65536").End(xlUp).Row 'la somme des chx arrivee au quinte
colonne = 10
Case 4
'pour le quarte
DerniereLigne = Range("k65536").End(xlUp).Row 'la somme des chx arrivee au quarte
colonne = 11
Case 3
'pour le tierce
DerniereLigne = Range("l65536").End(xlUp).Row 'la somme des chx arrivee au tierce
colonne = 12
Case 55 'multiplication
'pour le quinte
DerniereLigne = Range("m65536").End(xlUp).Row 'la somme des chx arrivee au quinte
colonne = 13
End Select
On Error Resume Next
For i = 2 To DerniereLigne
liste.Add Cells(i, colonne), CStr(Cells(i, colonne))
Next i
On Error GoTo 0
ReDim resultat(1 To 4, 1 To liste.Count)
For k = 1 To liste.Count
nbinf = 0
nbsup = 0
nbegal = 0
For i = 2 To DerniereLigne - 1
If Cells(i, colonne) = liste.Item(k) Then
If Cells(i, colonne) > Cells(i + 1, colonne) Then nbinf = nbinf + 1
If Cells(i, colonne) = Cells(i + 1, colonne) Then nbegal = nbegal + 1
If Cells(i, colonne) < Cells(i + 1, colonne) Then nbsup = nbsup + 1
End If
Next i
resultat(1, k) = liste.Item(k)
resultat(2, k) = nbinf
resultat(3, k) = nbegal
resultat(4, k) = nbsup
Next k
UserForm1.TextBox1.Value = ""
For k = 1 To liste.Count
'UserForm1.TextBox1.Value = UserForm1.TextBox1.Value & "Il y a eu pour la valeur somme " & resultat(1, k) & " :" & " " & resultat(2, k) & " valeur < qui suivaient " & resultat(3, k) & " " & " valeur = qui suivaient " & resultat(4, k) & " valeur > qui suivaient " & vbCrLf
' mettre en %
'UserForm1.TextBox1.Value = typedepari
UserForm1.TextBox1.Value = UserForm1.TextBox1.Value & "Il y a eu pour la valeur somme " & resultat(1, k) & "a été trouve " & (resultat(2, k) + resultat(3, k) + resultat(4, k)) & " : " & " " & (FormatNumber((resultat(2, k) * 100) / (resultat(2, k) + resultat(3, k) + resultat(4, k)), 0)) & "%valeur < qui suivaient " & (FormatNumber((resultat(3, k) * 100) / (resultat(2, k) + resultat(3, k) + resultat(4, k)), 0)) & " " & "%valeur = qui suivaient " & (FormatNumber((resultat(4, k) * 100) / (resultat(2, k) + resultat(3, k) + resultat(4, k)), 0)) & "%valeur > qui suivaient " & vbCrLf
Next k 'Voila le contenu de ma colonne j |
Partager