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

fredtes35
Messages postés
3
Date d'inscription
vendredi 3 août 2007
Dernière intervention
6 août 2007
- 3 août 2007 à 09:59 - Dernière réponse : fredtes35
Messages postés
3
Date d'inscription
vendredi 3 août 2007
Dernière intervention
6 août 2007
- 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
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Dernière intervention
23 août 2018
- 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é 94 internautes ce mois-ci

Commenter la réponse de cs_MPi
cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 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
Messages postés
3
Date d'inscription
vendredi 3 août 2007
Dernière intervention
6 août 2007
- 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
Messages postés
3
Date d'inscription
vendredi 3 août 2007
Dernière intervention
6 août 2007
- 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.