Salut la compagnie
J'ai fait ce petit prog très simple pour avoir une idée de ma vitesse de saisie au clavier et pour mes amis, aussi afin de leur montrer que je suis le boss lol. Non c'est pas vrai ça. Vous devez taper un texte donné et il mesure en temps réel ce que vous avez dans les doights. Voila, rien de plus à ajouter, sinon que le module senkeys je l'ai pompé sur Vbfrance, mais je ne sais plus à quelle source :-/
Source / Exemple :
Option Explicit
Dim intTmp As Integer
Dim intNbFautes As Integer
Dim intNbCaractsRestant As Integer
Dim intLettresParSeconde As Integer
Dim intLettresParMinute As Integer
Private Sub Command1_Click()
tmrTmpEcoule.Enabled = True
tmrGeneral.Enabled = True
Command1.Enabled = False
cmdFin.Enabled = True
lblTexteAFrapper.Visible = True
Text1.Enabled = True
Text1.SetFocus
lblNbCaracts.Caption = "Vous avez " & Len(lblTexteAFrapper) & " caractères à saisir"
End Sub
Private Sub Form_Load()
Me.Caption = App.ProductName
lblVersion.Caption = "V" & App.Major & "." & App.Minor & "." & App.Revision
lblInstructions.Caption = "Vous allez au court de ce test devoir recopier un texte donné, dans une boite de saisie prévue à cet effet afin de tester votre vitesse de frappe moyenne." & vbCrLf & "Le texte apparaitra ci-dessous et la boite de saisie se trouve en bas de la fenêtre." & vbCrLf & "Appuyez sur 'Commencer' afin de démarrer le test, ou pressez espace." & vbCrLf & "Pressez sur fin pour finir ou pressez la touche 'ECHAP' (vous devez entrer minimum 100 carctères mais il est préférable de saisir tout le texte afin d'avoir des résultats les plus justes possibles)" & vbCrLf & "Note : vous ne devez pas entrer les retours à la ligne."
intTmp = 0
intNbFautes = 0
End Sub
Private Sub Text1_Change()
Dim strCaractEnCour As String
Dim intNunCaract As Integer
Dim tmp1
If Len(Text1) = 1 Then
intNunCaract = 0
ElseIf Len(Text1) <> 1 Then intNunCaract = Len(Text1) ' - 1
End If
If intNunCaract = 0 Then
strCaractEnCour = Mid(lblTexteAFrapper, 1, 1)
ElseIf intNunCaract <> 0 Then
strCaractEnCour = Mid(lblTexteAFrapper, intNunCaract, 1)
End If
If Right$(Text1, 1) <> strCaractEnCour Then
intNbFautes = intNbFautes + 1
fSendKeys "{BACKSPACE}"
End If
intNbCaractsRestant = Len(lblTexteAFrapper) - Len(Text1)
lblNbCaractsRestant.Caption = "Il vous reste " & intNbCaractsRestant & " carctères à saisir"
'lblTest1 = "Caractère étant testé : " & strCaractEnCour & " | intNunCaract = " & intNunCaract & " | " & "Nombre de caractères à tester : " & Len(lblTexteAFrapper) 'TEST
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 27 Then Call cmdFin_Click
End Sub
Private Sub tmrGeneral_Timer()
lblNbFautes.Caption = "Nombre de fautes : " & intNbFautes
If Len(Text1) <> 0 And intTmp <> 0 Then intLettresParMinute = Round((60 / intTmp) * Len(Text1), 3)
If Len(Text1) <> 0 And intTmp <> 0 Then intLettresParSeconde = Round(Len(Text1) / intTmp, 3)
If Len(Text1) <> 0 And intTmp <> 0 Then lblLettresMinutes.Caption = "Vitesse moyenne (lettres par minute) : " & intLettresParMinute
If Len(Text1) <> 0 And intTmp <> 0 Then lblLettresSec.Caption = "Vitesse moyenne (lettre(s) par secondes) : " & intLettresParSeconde
End Sub
Private Sub cmdFin_Click()
If Len(Text1) < 100 Then
MsgBox "Vous devez au moins taper 100 caractères pour avoir un résultat correct, veuillez continuer.", vbCritical + vbOKOnly, "Erreur"
Text1.SetFocus
Else: MsgBox "Vous avez saisi " & Len(Text1) & " caractères en " & intTmp & ", vous frappez environ " & intLettresParSeconde & " lettres par seconde et environ " & intLettresParMinute & " lettres par minute."
End
End If
End Sub
Private Sub tmrTmpEcoule_Timer()
intTmp = intTmp + 1
lblTmpEcoule.Caption = "Temps écoulé : " & intTmp & " secondes"
End Sub
Conclusion :
Bonne année !
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.