Chronométrer une tâche sous VBA

Fermé
totodunet Messages postés 1377 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 - 27 juil. 2012 à 12:43
ccm81 Messages postés 10510 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 8 décembre 2022 - 27 juil. 2012 à 16:44
Bonjour,
Je souhaite chronométrer une tâche sous Visual Basic. En fait j'ai un programme qui fait un certain nombre de fois la même opération (c'est une boucle conditionnelle) et je voudrais chronométrer le temps que la machine a mis pour faire toutes ces opérations.
Le chrono doit démarrer au moment où l'utilisateur clique sur le bouton de lancement des opérations et doit s'arrêter automatiquement une fois que la machine a terminé son travail.
Je programme sous Visual Basic Express 2010 mais je suis un débutant. J'ai aperçu le timer mais je ne sais pas bien l'utiliser et les tutos sur le site du zéro et autre ne répondent pas à mon problème.

Voilà un peu à quoi ressemble le programme :
"
Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'Les variables (nbop est une variable définie par l'utilisateur)
Dim nbop As Integer
Dim X As Integer = 1

'La boucle conditionnelle
While X < nbop
X = X + 1
End While

End Sub
End Class
"
Au moment où on clique sur le Button1, le chrono démarre et s'arrête automatiquement une fois que X=nbop.

J'espère que j'ai été compris :D
Merci pour tout ceux qui m'apporterait une aide !!!!

2 réponses

ccm81 Messages postés 10510 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 8 décembre 2022 2 330
27 juil. 2012 à 15:51
si j'ai compris ta demande, un exemple d'utilisation du timer

Private Sub CommandButton1_Click()
Dim t1 As Single, t2 As Single, t As Single
Dim i As Long, ifin As Long
Dim s As Double
ifin = Range("A1").Value
t1 = Timer
For i = 1 To ifin
  s = Log(1 + i) * (Sin(i) ^ i + Cos(i) ^ i)
Next i
t2 = Timer
t = t2 - t1
MsgBox "temps mis : " & t & " secondes"
End Sub

bonne suite
0
totodunet Messages postés 1377 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 198
27 juil. 2012 à 16:08
merci mais il me dit que "Timer" est un type et qu'il ne peut pas être utilisé en tant que expression et c'est justement ça le gros problème.
pour le "Range" pareil il me dit qu'il n'est pas accessible dans son contexte car il est Friend.
et est ce que tu peux me dire ce que représente le s, le i et le infin ainsi que la belle formule mathématique ^^
J'avoue que je suis perdu, je pensai que ça allait être juste deux lignes, une avant le while et une après le end while et un label texte qui m'affiche le temps... :O
merci!!
0
ccm81 Messages postés 10510 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 8 décembre 2022 2 330
27 juil. 2012 à 16:18
désolé, j'ai mal lu ta demande qui concerne VB Express 2010 que je ne connais pas et non VBA

bon courage quand même
0
totodunet Messages postés 1377 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 198
27 juil. 2012 à 16:23
ah ok pardon VBA et Visual B Express 2010 de Microsoft c'est pas pareil alors, je savais pas ! ça presse pas de toute façon xD je garde le projet sous le coude! merci
0
ccm81 Messages postés 10510 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 8 décembre 2022 2 330
27 juil. 2012 à 16:44
la belle formule n'est là que pour faire tourner le timer (pour 1000000 de fois ça fait 1.4 secondes !!)
0