Problème dans mon code en vb
frédéric
-
frederic -
frederic -
J'essaye d'utiliser l'objet timer2 qui est une classe timerfm
mais ça ne fonctionne pas et je suis vraiment perdu.
Quelqu'un veut-il bien regarder mon code et me dire mes erreurs.
merci de bien vouloir dépanner un débutant.
' cecie est le moduel1
Dim timer As New timerfm
Dim timer2 As New timerfm
Sub ma_procédure()
response = MsgBox(" 1er envoi", vbYesNo)
If response = vbYes Then ' L’utilisateur a choisit Yes.
demar ' Effectue une action.
Else ' L’utilisateur a choisi No.
stope
End If
End Sub
Sub demar()
Application.OnTime Now + TimeValue("00:00:15"), "ma_Procédure"
End Sub
Sub stope()
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="ma_Procédure", Schedule:=False
End Sub
Sub utilobjet()
timer2.demar
End Sub
'ceci est le module de classe timerfm
Sub ma_procédure()
response = MsgBox(" 1er envoi viens de l'objet", vbYesNo)
If response = vbYes Then ' L’utilisateur a choisit Yes.
demar ' Effectue une action.
Else ' L’utilisateur a choisi No.
stope
End If
End Sub
Sub demar()
Application.OnTime Now + TimeValue("00:00:15"), "timerfm.ma_Procédure"
End Sub
Sub stope()
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="ma_Procédure", Schedule:=False
End Sub
---------------------------------------------
et encore merci
mais ça ne fonctionne pas et je suis vraiment perdu.
Quelqu'un veut-il bien regarder mon code et me dire mes erreurs.
merci de bien vouloir dépanner un débutant.
' cecie est le moduel1
Dim timer As New timerfm
Dim timer2 As New timerfm
Sub ma_procédure()
response = MsgBox(" 1er envoi", vbYesNo)
If response = vbYes Then ' L’utilisateur a choisit Yes.
demar ' Effectue une action.
Else ' L’utilisateur a choisi No.
stope
End If
End Sub
Sub demar()
Application.OnTime Now + TimeValue("00:00:15"), "ma_Procédure"
End Sub
Sub stope()
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="ma_Procédure", Schedule:=False
End Sub
Sub utilobjet()
timer2.demar
End Sub
'ceci est le module de classe timerfm
Sub ma_procédure()
response = MsgBox(" 1er envoi viens de l'objet", vbYesNo)
If response = vbYes Then ' L’utilisateur a choisit Yes.
demar ' Effectue une action.
Else ' L’utilisateur a choisi No.
stope
End If
End Sub
Sub demar()
Application.OnTime Now + TimeValue("00:00:15"), "timerfm.ma_Procédure"
End Sub
Sub stope()
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="ma_Procédure", Schedule:=False
End Sub
---------------------------------------------
et encore merci
7 réponses
-
-
Quelle message d'erreur as-tu lors de la compilation sous VB ?
Quelle est la version d Visual Basic ( 6 ou .Net ) ?
As-tu mis au début de ton source *.frm Option Explicit -
le message est impossible de trouver la macro"g\bases de données\ere1022005.xls!timerfm.ma_procédure"
j'utilise le visual basic de excels.
lorsque je rajoute *.frm Option Explicit
j'ai un message :"erreur de compilation attendu numéro de ligne ou éttiquette ou instruction ou fin d'instruction"
J'espère que ces renseignements pourront vous aider. -
Salut le code du module :
'*******************************************
Option Explicit
'
Dim Timer As New TimerFm
'
Sub Ma_Procedure()
..Dim Reponse As Integer
..Reponse = MsgBox(" 1er envoi", vbYesNo)
..If Reponse = vbYes Then ' L’utilisateur a choisit Yes.
....Timer.Demar ' Effectue une action.
..Else ' L’utilisateur a choisi No.
....Timer.Stope
..End If
End Sub
'
Le code du module de classe
'*******************************************
Option Explicit
'
Function Demar()
..Application.OnTime Now + TimeValue("00:00:15"), "Ma_Procedure"
End Function
'
Function Stope()
..DoEvents 'Y a rien a faire !
End Function
'*******************************************
Pour faire appel à cette procédure :
Sub stope()
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="ma_Procédure", Schedule:=False
End Sub
L'instance suivant doit avoir été créé :
Application.OnTime TimeValue("17:00:00"), "Ma_Procedure"
Pour l'instant lorsque la routine est appellé par le timer,
l'instance elle-même du timer n'existe plus, d'ou le message d'erreur ! ( il ne peut détruire ce qui n'a jamais été! )
Lupin
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
J'ai continuer a travailler sur mon timer et maintenant j'ai un message d'erreur qui me dit que ma pile est pleine?Ca veut dire quoi? et comment y remédier?
'voici mon objet timerfm
Public Property Let responseu(ByVal Nb As String)
responseu = "N"
End Property
Public Property Get responseu() As String
responseu = "mm"
End Property
Function demar()
Application.OnTime Now + TimeValue("00:09:15"), "Ma_Procedure"
End Function
' voici la fonction que j'utilise pour faire démarrer mon timerfm
Public timor As New timerfm
Dim timer As New timerfm
Sub Ma_Procedure()
Dim Reponse As Integer
Reponse = MsgBox(" 1er envoi", vbYesNo)
If Reponse = vbYes Then ' L’utilisateur a choisit Yes.
timer.demar ' Effectue une action.
Else ' L’utilisateur a choisi No.
timer.stope
End If
End Sub
Je vous remercie de m'aider à y voire plus claire -
Bonjour,
J'ai regardé un peu ton code et je ne comprend pas
ce que tu veux faire. Déjà que je ne maitrise pas
la notion des classes.
Pour aller plus loin il faudrait que tu clarifie ton besoin.
reponseu correspond à quoi ?
Lupin
-
je voudrais créer un timer que je pourrai utiliser sous excel. le timer n'existant pas en vba sous excel.
en fait je voudrais qu' un ou plusieurs messages puissent apparaitre régulièrement.