Problème dans mon code en vb

frédéric -  
 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
A voir également:

7 réponses

frédéric
 
je ne sais pas si c'est utile de le préciser, mais j'utilise le vb de excel.
0
Arno59 Messages postés 4600 Date d'inscription   Statut Contributeur Dernière intervention   487
 
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
0
teebo Messages postés 33491 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Il est en VBA et non en VB en fait...
0
frédéric
 
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.
0
Utilisateur anonyme
 
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
frédéric
 
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
0
Utilisateur anonyme
 
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
0
frederic
 
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.
0