Re : Intégrer et afficher un chronometre sur un Userform de QCM
Bonjour à tous,
Je vous joins le code de l'usf dans lequel je souhaiterais avoir un chrono qui s'affiche sur un label.
Mon fichier complet contenant des éléments que je ne peux pas diffuser...
Merci à tous pour votre aide.
----------------------------------------------------------------------------
Dim P As Single
Dim N As Single
Dim mr As Single
Dim réponse As String
Dim lr As Single
Dim i As Single
Dim r1, r2, r3, r4
Private Sub UserForm_activate()
'affichage en plein écran
Dim W As Double
With QuestionMultiple
.StartUpPosition = 3
W = Application.UsableWidth / 768
Me.Zoom = CInt(W * 95)
.Width = Application.Width
.Height = Application.Height
.Left = 0
.Top = 0
End With
N = 2
i = 1
CheckBox3.Visible = True
Label11.Visible = True
CheckBox4.Visible = True
Label12.Visible = True
Label1.Caption = Feuil11.Cells(N, 3) ' la question
Label8.Caption = "Question n°: " & i
CheckBox1.Caption = Feuil11.Cells(N, 4) 'les réponses 1
CheckBox2.Caption = Feuil11.Cells(N, 5) 'les réponses 2
If Feuil11.Cells(N, 6).Value = 0 Then 'test si 3ème réponse présente
CheckBox3.Visible = False
Label11.Visible = False
Else
label11visible = True
CheckBox3.Caption = Feuil11.Cells(N, 6) 'les réponses 3
End If
If Feuil11.Cells(N, 7).Value = 0 Then 'test si 4ème réponse présente
CheckBox4.Visible = False
Label12.Visible = False
Else
label12visible = True
CheckBox4.Caption = Feuil11.Cells(N, 7) 'les réponses 4
End If
bad.Visible = False
yeah.Visible = False
what.Visible = False
incomp.Visible = False
P = 0
mr = 0
lr = 15
pointp.Value = P
Pourcent.Value = P / N * 100
End Sub
Private Sub Verifier_Click()
'validation de la réponse par le candidat
what.Visible = False
incomp.Visible = False
If CheckBox1.Value = True Then
r1 = "a"
End If
If CheckBox2.Value = True Then
r2 = "b"
End If
If CheckBox3.Value = True Then
r3 = "c"
End If
If CheckBox4.Value = True Then
r4 = "d"
End If
réponse = r1 & r2 & r3 & r4
If réponse = "" Then
Label2.Caption = "Quelle est votre réponse ?"
Label13.Caption = ""
incomp.Visible = False
what.Visible = True
Exit Sub
End If
Feuil11.Cells(N, 10).Value = réponse
If Feuil11.Cells(N, 8) = réponse Then
Label2.Caption = "Bonne réponse !!!"
yeah.Visible = True
Feuil13.Cells(lignerésultat, mr + 7).Value = Feuil11.Cells(N, 2)
Feuil13.Cells(lignerésultat, mr + 8).Value = réponse
Feuil14.Cells(lr, 3).Value = Feuil11.Cells(N, 3)
Feuil14.Cells(lr + 5, 3).Value = "Bonne réponse"
If CheckBox1.Value = True Then
Feuil14.Cells(lr + 1, 3).Value = Feuil11.Cells(N, 4)
End If
If CheckBox2.Value = True Then
Feuil14.Cells(lr + 2, 3).Value = Feuil11.Cells(N, 5)
End If
If CheckBox3.Value = True Then
Feuil14.Cells(lr + 3, 3).Value = Feuil11.Cells(N, 6)
End If
If CheckBox4.Value = True Then
Feuil14.Cells(lr + 4, 3).Value = Feuil11.Cells(N, 7)
End If
mr = mr + 2
lr = lr + 7
P = P + 1
Else
If Feuil11.Cells(N, 11).Value = 1 Then
Label2.Caption = "Mauvaise réponse !"
bad.Visible = True
Label13.Caption = "Les bonnes réponses sont : " & Feuil11.Cells(N, 8).Value
Feuil13.Cells(lignerésultat, mr + 7).Value = Feuil11.Cells(N, 2)
Feuil13.Cells(lignerésultat, mr + 8).Value = réponse
Feuil13.Cells(lignerésultat, mr + 8).Font.ColorIndex = 3
Feuil14.Cells(lr, 3).Value = Feuil11.Cells(N, 3)
Feuil14.Cells(lr + 5, 3).Value = "Mauvaise réponse"
If CheckBox1.Value = True Then
Feuil14.Cells(lr + 1, 3).Value = Feuil11.Cells(N, 4)
End If
If CheckBox2.Value = True Then
Feuil14.Cells(lr + 2, 3).Value = Feuil11.Cells(N, 5)
End If
If CheckBox3.Value = True Then
Feuil14.Cells(lr + 3, 3).Value = Feuil11.Cells(N, 6)
End If
If CheckBox4.Value = True Then
Feuil14.Cells(lr + 4, 3).Value = Feuil11.Cells(N, 7)
End If
lr = lr + 7
mr = mr + 2
Else
Label2.Caption = "Réponse incomplète"
incomp.Visible = True
Label13.Caption = "Les bonnes réponses sont : " & Feuil11.Cells(N, 8).Value
Feuil13.Cells(lignerésultat, mr + 7).Value = Feuil11.Cells(N, 2)
Feuil13.Cells(lignerésultat, mr + 8).Value = réponse
Feuil13.Cells(lignerésultat, mr + 8).Font.ColorIndex = 41
Feuil14.Cells(lr, 3).Value = Feuil11.Cells(N, 3)
Feuil14.Cells(lr + 5, 3).Value = "Réponse incomplète"
If CheckBox1.Value = True Then
Feuil14.Cells(lr + 1, 3).Value = Feuil11.Cells(N, 4)
End If
If CheckBox2.Value = True Then
Feuil14.Cells(lr + 2, 3).Value = Feuil11.Cells(N, 5)
End If
If CheckBox3.Value = True Then
Feuil14.Cells(lr + 3, 3).Value = Feuil11.Cells(N, 6)
End If
If CheckBox4.Value = True Then
Feuil14.Cells(lr + 4, 3).Value = Feuil11.Cells(N, 7)
End If
mr = mr + 2
lr = lr + 7
End If
End If
pointp.Value = P
Pourcent.Value = P / (N - 1) * 100
Feuil13.Cells(lignerésultat, 4).Value = i
Feuil14.Cells(9, 4).Value = i
Feuil13.Cells(lignerésultat, 5).Value = P
Feuil13.Cells(lignerésultat, 6).Value = P / (N - 1)
Feuil14.Cells(10, 4).Value = P
Feuil14.Cells(11, 4).Value = P / (N - 1)
End Sub
Private Sub Suite_Click()
' bouton question suivante
r1 = ""
r2 = ""
r3 = ""
r4 = ""
Compteligne
Label2.Caption = " " ' Efface la question précedente
Label13.Caption = "" ' efface la bonne réponse précédente
CheckBox1.Value = False ' décoche les bouttons
CheckBox2.Value = False
CheckBox3.Value = False
CheckBox4.Value = False
réponse = ""
bad.Visible = False 'efface les smileys
yeah.Visible = False
what.Visible = False
incomp.Visible = False
CheckBox3.Visible = True
Label11.Visible = True
CheckBox4.Visible = True
Label12.Visible = True
i = i + 1
N = N + 1
Label8.Caption = "Question n°: " & i
Label1.Caption = Feuil11.Cells(N, 3) ' les questions
CheckBox1.Caption = Feuil11.Cells(N, 4) 'les réponses 1
CheckBox2.Caption = Feuil11.Cells(N, 5) 'les réponses 2
If Feuil11.Cells(N, 6).Value = 0 Then
CheckBox3.Visible = False
Label11.Visible = False
Else
label11visible = True
CheckBox3.Caption = Feuil11.Cells(N, 6) 'les réponses 3
End If
If Feuil11.Cells(N, 7).Value = 0 Then
CheckBox4.Visible = False
Label12.Visible = False
Else
label12visible = True
CheckBox4.Caption = Feuil11.Cells(N, 7) 'les réponses 4
End If
If N = Nbrligne + 2 Then
MsgBox ("Votre test est terminé.")
Label2.Caption = " "
CheckBox1.Value = False
CheckBox2.Value = False
CheckBox3.Value = False
CheckBox4.Value = False
CheckBox3.Visible = True
Label11.Visible = True
CheckBox4.Visible = True
Label12.Visible = True
QuestionMultiple.Hide
'ActiveWorkbook.Save
End If
End Sub
Private Sub quitter_Click()
Unload Me
End Sub