drik56
Messages postés127Date d'inscriptionmercredi 16 avril 2008StatutMembreDernière intervention 8 juillet 2008
-
30 juin 2008 à 11:56
bigfish_le vrai -
30 juin 2008 à 17:58
Bonjour,
Je souhaiterai réinitialiser mon projet VB par macro.
Comme on éxécute une fonction Sub ou autre qui aurai la meme incidence que lorsque l'on clic sur le carré bleu vba pour réinitialiser.
drik56
Messages postés127Date d'inscriptionmercredi 16 avril 2008StatutMembreDernière intervention 8 juillet 2008 30 juin 2008 à 12:49
ouai ou plutot que tout s'arrete.
Quand tu clic sur stop (carré bleu) dans visual basic, ça réinitialise tout ton projet. Eh ben moi je veux faire pareil mais en cliquand sur un bouton sur la feuille excel.
Attention: je ne sais pas si ca existe, c'est pour cela que je poste.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 30 juin 2008 à 12:59
Si tu as beaucoup de procédures, ça me semble difficile à mettre en place.
Peut être avec Microsoft Extensibility (pour gérer l'IDE) mais pas trouver de Stop ou autre.
Si tu n'as que quelques procédures, tu peux tricher avec un Timer et un booléen dans tes proc, cependant, une partie de ton code s'exécutera forcément.
drik56
Messages postés127Date d'inscriptionmercredi 16 avril 2008StatutMembreDernière intervention 8 juillet 2008 30 juin 2008 à 13:17
Merci a vous deux mais je cherche du code. Je fais un programme qui serai lisible sur n'importe quel pc donc pas d'installtion d'ocx.
Avez- vous autre chose ?
Merci
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 30 juin 2008 à 14:41
apparemment il y a un excel d'exemple, je présume que c'est indiqué ^^
sinon je suppose :
copier le code dans une module de classe que tu appelleras par exemple Cls_Timer
puis dans ton userform en haut : private withevents Timer1 as Cls_Timer
dons ton _Load (ou équivalent pour VBA)
set Timer1 = new Cls_Timer
Timer1.interval = 100
Timer1.enabled = true
et la classe te renvoie l'évènement tous les 100ms, donc dans ton code... dans le combo de gauche tu vas avoir Timer1 , avec l'évènement Timer() dans le combo de droite
tu sélectionnes et mets ton code dans ce nouvel évènement
n'oublie pas de détruire ta classe en sortie
donc dans le _Unload du userform (ou équivalent pour VBA)
Timer1.enabled = false
set Timer1 = nothing
çà devrait être bon ;)
++
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
drik56
Messages postés127Date d'inscriptionmercredi 16 avril 2008StatutMembreDernière intervention 8 juillet 2008 30 juin 2008 à 15:40
Merci PCPT Mais je n'arrive pas a télécharger le fichier excel... ^^
Merci pour ton explication
Je vais essayer.
Peux tu voir sinon pour le lien car d'apres le screen j'aimerais bien avoir le fichier excel ...
Merci
drik56
Messages postés127Date d'inscriptionmercredi 16 avril 2008StatutMembreDernière intervention 8 juillet 2008 30 juin 2008 à 15:59
Ok merci donc puis je te demander un petit service ? ...
Me le mettre sur un autre serveur car ici je ne suis pas l'administrateur du pc donc ca doit bloquer .
Merci beaucoup.
Si c'est trop demander tant pis je me débrouillerais .
drik56
Messages postés127Date d'inscriptionmercredi 16 avril 2008StatutMembreDernière intervention 8 juillet 2008 30 juin 2008 à 16:58
Sinon je t'embete encore un peu mais tant que je te tiens...
Voici mon code pour mon timer:
Dim Lheure As Double
Dim Interval As Integer
Sub LancerTimer(NbM As Integer)
'L'application ExecutionTimer se lancera toutes les 0 heure, Interval minute et 0 seconde
Interval = NbM
Application.OnTime Now + TimeSerial(0, Interval, 0), "ExecutionTimer"
End Sub
Sub ArretTimer()
On Error Resume Next
Application.OnTime Lheure, "ExecutionTimer", , False
End Sub
Sub ExecutionTimer()
"Mon module" 'Lancer au bout de NbM minutes
Lheure = Now + TimeSerial(0, Interval, 0)
Application.OnTime Lheure, "ExecutionTimer"
End Sub
Le probleme est que lorsque je le lance ca marche, 1 fois, 2 fois.. et puis quand je veux l'arreter il se lance en boucle et ne s'arrete pas... Saurais- tu d'ou cela viens ?