Boucle Timer en VBA

Fermé
pirmoto Messages postés 2 Date d'inscription mercredi 28 mars 2012 Statut Membre Dernière intervention 3 avril 2012 - 28 mars 2012 à 19:57
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 3 avril 2012 à 11:02
Bonjour à tous, J'ai un projet à faire en vba dans lequel j'aimerais que mon code se répète par exemple toutes les secondes après que j'ai appuyer sur un bouton. J'ai penser mettre mon code dans une boucle à l'aide d'un timer.


voici mon code :

Option Explicit

Private Sub CommandButton1_Click()
Dim ligne As String


ligne = Range("A1").End(xlDown).Row + 1

Cells(ligne, 1).Value = "a"


Select Case True

Case Cells(8, 2) = True 'Cas où Capteur Ligne 1 passe à "Vrai"
Flag1 = True
Feuil2.Cells(ligne, 1) = Now 'ajout de l'heure
Feuil2.Cells(ligne, 2) = Now 'Ajoute la date et l'heure
Feuil2.Cells(ligne, 3) = Feuil1.Cells(14, 3) 'Ajoute le N° de Biscuitligne
Feuil2.Cells(ligne, 4) = 1
Feuil2.Cells(ligne, 5) = 1 'Ajoute 1 dans la colonne "START"
Feuil2.Cells(ligne, 6) = 0 'Ajoute 0 dans la colonne "STOP"


End Select

Select Case True

Case Cells(8, 2) = False And Flag1 = True
Flag1 = False
Feuil2.Cells(ligne, 1) = Now
Feuil2.Cells(ligne, 2) = Now 'Ajoute la date et l'heure
Feuil2.Cells(ligne, 3) = Feuil1.Cells(17, 3)
Feuil2.Cells(ligne, 4) = 4
Feuil2.Cells(ligne, 5) = 0 'Ajoute 0 dans la colonne "START"
Feuil2.Cells(ligne, 6) = 1 'Ajoute 1 dans la colonne "STOP"

End Select

End Sub

Pouvez vous m'aider ? merci
Pierre

3 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
3 avril 2012 à 11:02
Bonjour,

Si tu avais été sur l'aide excel comme conseillé tu aurais trouvé ceci :

Exemples
Cet exemple montre comment exécuter my_Procedure dans 15 secondes.
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"

Cet exemple montre comment exécuter my_Procedure à 17 heures.
Application.OnTime TimeValue("17:00:00"), "my_Procedure"

Cet exemple montre comment annuler le paramétrage de OnTime de l'exemple précédent.
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
    Procedure:="my_Procedure", Schedule:=False


eric
1
Bonjour,

Va voir là comment programmer un timer en VBA

http://www.commentcamarche.net/faq/10315-vba-un-timer-une-seconde-tout-simple

;)
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 215
29 mars 2012 à 00:20
Bonjour,

pour compléter et comprendre, regarde l'aide excel sur OnTime
eric
0
pirmoto Messages postés 2 Date d'inscription mercredi 28 mars 2012 Statut Membre Dernière intervention 3 avril 2012
3 avril 2012 à 09:56
Merci pour vos réponses, cependant je n'arrive toujours pas à faire ma boucle avec un timer. Auriez vous un exemple concret pour une boucle qui s'exécute par exemple toutes les 2 secondes? Merci d'avance
0