Rafraîchissement périodique d'un textbox [Résolu]

fredtes35 3 Messages postés vendredi 3 août 2007Date d'inscription 6 août 2007 Dernière intervention - 3 août 2007 à 09:59 - Dernière réponse : fredtes35 3 Messages postés vendredi 3 août 2007Date d'inscription 6 août 2007 Dernière intervention
- 6 août 2007 à 14:51
Bonjour,


Je débute en vba. Je voudrais rafraîchir toutes les secondes une valeur
située dans un TextBox d'une Userform. Pour cela j'utilise la méthode
OnTime par exemple, ce qui fonctionne bien. Le problème que je
rencontre est que dans la fonction executée lorsque la tempo est
écoulée je ne peux pas faire appel à une fonction définie dans mon
Userform qui met à jour l'affichage (fonction inconnue...)

Je suppose que ça vient du fait que mon code pour gérer la tempo se trouve dans un module...

<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

Dim Lheure As Double
Sub macro_RS232()
EndSub
 
Sub ExecutionTimer()
'code à exécuter à la fin de chaque Interval secondes
Call SetTemperatureIndicator
 
Lheure = Now + TimeSerial(0, 0, 1)
Application.OnTime Lheure, "ExecutionTimer"
EndSub
 
 
Sub LancerTimer(NbS AsInteger)
'L'application ExecutionTimer se lancera toutes les 0 heure, 0 minute et Interval seconde
Interval = NbS
Application.OnTime Now + TimeSerial(0, 0, 1), "ExecutionTimer"
EndSub
 
Sub ArretTimer()
OnErrorResumeNext
Application.OnTime Lheure, "ExecutionTimer", , False
EndSub


L'appel de LancerTimer se trouve dans le code associé à ma feuille Excel

SetTemperatureIndicator se trouve dans mon Userform

Le code visible sur l'écran est dans mon module

Le message d'erreur est :
  Erreur de compilation
<!-- / message --><!-- attachments -->  
Sub ou Function indéfinie

Merci pour votre aide...
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
cs_MPi 3877 Messages postés mardi 19 mars 2002Date d'inscription 23 août 2018 Dernière intervention - 6 août 2007 à 11:31
3
Merci
Essaie en spécifiant le nom du UserForm
NomDuUserform.SetTemperatureIndicator

ou déplace ta procédure dans le module.

MPi

Merci cs_MPi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_MPi
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 3 août 2007 à 19:39
0
Merci
Salut
Si le code que tu veux appeler se trouve dans un module, il te suffit de déclarer cette Sub en Public :
   Public Sub LancerTimer(NbS AsInteger)
Elle deviendra ainsi accessible de n'importe quel endroit dans ton projet.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
fredtes35 3 Messages postés vendredi 3 août 2007Date d'inscription 6 août 2007 Dernière intervention - 6 août 2007 à 10:22
0
Merci
Ce n'est pas la fonction LancerTimer qui pose problème mais la fonction SetTemperatureIndicator. Elle est déjà déclarée en public dans mon Userform...
Commenter la réponse de fredtes35
fredtes35 3 Messages postés vendredi 3 août 2007Date d'inscription 6 août 2007 Dernière intervention - 6 août 2007 à 14:51
0
Merci
Merci MPi ça fonctionne maintenant
Commenter la réponse de fredtes35

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.