syntaxe VBA sur l'instruction application.ontime avec paramètres
#1
Aspirant XLPages

Inscription: 02/03/2008
De 94170 Le Perreux Sur marne

Messages: 28

Système d'exploitation:
PC
Version Excel utilisée:
2002
Posté le : 01-07-2008 01h37
Bonjour Didier,
Besoin d'un coup de main pour une syntaxe que je ne suis pas arrivé à trouver. Il s'agit du passage de paramètre à une macro appelée dans l'instruction application.ontime:
J'ai essayé différentes formules,la dernière étant :
Application.OnTime TimeValue(Apres10minutes), "'Fermeture(Time_Opening) '"
La macro s'appelle Fermeture et le paramètre passé est Time_Opening
Je ne m'en sors pas
Merci d'avance
Michel

Hors Ligne
Rapport   Haut 

Re: syntaxe VBA sur l'instruction application.ontime avec paramètres
#2
Accro XLPages

Inscription: 17/08/2007
De Québec, Canada

Messages: 180

Système d'exploitation:
PC
Version Excel utilisée:
Excel 2003, 2007 (FR) & MsProject 2003
Posté le : 01-07-2008 02h26
Salut le forum

Une façon de travailler avec OnTime, ici la macro est lancée au 15 secondes.
Option Explicit
Public RunWhen As Variant

Sub LanceMessage()
'Départ du processus
RunWhen = TimeValue(Now + TimeSerial(0, 0, 15))
Application.OnTime RunWhen, "Ma_Macro"
End Sub

Sub StopMessage()
'Arret du processus
On Error Resume Next
Application.OnTime RunWhen, "Ma_Macro", , False
End Sub

Sub Ma_Macro()
MsgBox ("Hello")
Call LanceMessage
End Sub
Mytå

P.S. Bravo, Didier pour le nouveau "Design"

Hors Ligne
Rapport   Haut 

Re: syntaxe VBA sur l'instruction application.ontime avec paramètres
#3
Aspirant XLPages

Inscription: 02/03/2008
De 94170 Le Perreux Sur marne

Messages: 28

Système d'exploitation:
PC
Version Excel utilisée:
2002
Posté le : 01-07-2008 10h26
Bonjour,
Merci pour le message mais ça ne répond malheureusement pas à ma question qui est : comment passer un paramètre à la macro lancée par application.ontime. Je ne sais quelle est la syntaxe à utiliser avec les "" ou les ' .
Merci de votre aide
Michel
Hors Ligne
Rapport   Haut 

Re: syntaxe VBA sur l'instruction application.ontime avec paramètres
#4
Accro XLPages

Inscription: 17/08/2007
De Québec, Canada

Messages: 180

Système d'exploitation:
PC
Version Excel utilisée:
Excel 2003, 2007 (FR) & MsProject 2003
Posté le : 01-07-2008 15h27
Salut le forum

Michel, voilà un exemple avec passage de paramètres

Option Explicit
Public RunWhen As Variant

Sub LanceMessage()
'Départ du processus
RunWhen = TimeValue(Now + TimeSerial(0, 0, 15))
Application.OnTime RunWhen, "'Ma_Macro 100'"
End Sub

Sub StopMessage()
'Arret du processus
On Error Resume Next
Application.OnTime RunWhen, "'Ma_Macro 100'", , False
End Sub

Sub Ma_Macro(I As Integer)
MsgBox I
Call LanceMessage
End Sub

La syntaxe " ' Ta_Macro Ta_Variable ' "

Mytå


Hors Ligne
Rapport   Haut 

Re: syntaxe VBA sur l'instruction application.ontime avec paramètres
#5
Aspirant XLPages

Inscription: 02/03/2008
De 94170 Le Perreux Sur marne

Messages: 28

Système d'exploitation:
PC
Version Excel utilisée:
2002
Posté le : 01-07-2008 15h34
Merci Myta. Mais quand le paramètre est une variable ?
Dans mon exemple : Application.OnTime TimeValue(Apres40minutes), "'Fermeture(Time_Opening) '"   C'est Time_Opening qui est une variable mais cette syntaxe n'est pas la bonne.
Michel
Hors Ligne
Rapport   Haut 

Re: syntaxe VBA sur l'instruction application.ontime avec paramètres
#6
Accro XLPages

Inscription: 17/08/2007
De Québec, Canada

Messages: 180

Système d'exploitation:
PC
Version Excel utilisée:
Excel 2003, 2007 (FR) & MsProject 2003
Posté le : 01-07-2008 15h38
Re Michel

Enlève les espaces que j'ai ajoutées

" ' Fermeture " & Time_Opening & " ' "

Garde un espace après Fermeture

Mytå

Edit : Fonctionne que pour une variable nombre et pas Texte ou Date

P.S. Que rajouter de plus sur Application.OnTime






Edité par Mytå le 04/07/2008 01:02:11
Hors Ligne
Rapport   Haut 

Re: syntaxe VBA sur l'instruction application.ontime avec paramètres
#7
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 01-07-2008 23h39
Bonsoir Mira57, Mytå,

Citation :
Mytå a écrit :
P.S. Que rajouter de plus sur Application.OnTime


Heu... ben moi je rajoute ce LIEN

En tout cas, c'est l'occasion pour moi de te remercier pour ta participation ici cher Mytå, ça me fait très plaisir de te retrouver .

Cordialement,

PS: dans cet autre fil, j'en déduis que le verbe solder doit avoir un autre usage au Quebec... ici on l'utilise aussi dans le sens aboutir ou se conclure.


Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: syntaxe VBA sur l'instruction application.ontime avec paramètres
#8
Aspirant XLPages

Inscription: 02/03/2008
De 94170 Le Perreux Sur marne

Messages: 28

Système d'exploitation:
PC
Version Excel utilisée:
2002
Posté le : 03-07-2008 23h33
Bonsoir Didier, bonsoir Myta,
Je n'ai pas répondu plus tôt, j'étais en déplacement sans possibilité de me connecter. J'ai réessayé et ça ne marche toujours pas : cette fois le message me fait bien apparaître la valeur du paramètre qui est une heure mais il doit y avoir encore un problème de quote simple ou quote double, y a t-il une autre solution pour éviter de s'arracher les cheveux avec cette syntaxe un peu trop compliquée? 
Merci
Michel

Mon instruction:
Application.OnTime TimeValue(Apres30minutes), "'Fermeture " & Time_Opening & " ' "

Le message avec la syntaxe de myta:
impossible de trouver la macro : "c:\Timesheet.xls'! 'Fermeture 23:29:29 "

L'heure est correcte (c'est mon argument passé à la macro) 
Fermeture est le nom de ma macro

Ma procédure :
Sub Fermeture(Time_Opening As Date)
Hors Ligne
Rapport   Haut 

Re: syntaxe VBA sur l'instruction application.ontime avec paramètres
#9
Accro XLPages

Inscription: 17/08/2007
De Québec, Canada

Messages: 180

Système d'exploitation:
PC
Version Excel utilisée:
Excel 2003, 2007 (FR) & MsProject 2003
Posté le : 03-07-2008 23h59
Salut le forum

Le plus simple aurait été de mettre un fichier exemple.
essaye cette procédure elle fonction pour moi.
Option Explicit
Public RunWhen As Variant
Public Time_opening As Date

Sub LanceMessage()
'Départ du processus
RunWhen = TimeValue(Now + TimeSerial(0, 0, 15))
Time_opening = "23:59:59"
Application.OnTime RunWhen, "'Fermeture """ & Time_opening & """'"

End Sub

Sub StopMessage()
'Arrêt du processus
On Error Resume Next
Application.OnTime RunWhen, "'Fermeture """ & Time_opening & """'", , False
End Sub

Sub Fermeture(Time_opening As Date)
MsgBox Time_opening
Call LanceMessage
End Sub
Mytå
Hors Ligne
Rapport   Haut 

Re: syntaxe VBA sur l'instruction application.ontime avec paramètres
#10
Aspirant XLPages

Inscription: 02/03/2008
De 94170 Le Perreux Sur marne

Messages: 28

Système d'exploitation:
PC
Version Excel utilisée:
2002
Posté le : 04-07-2008 16h35
Salut Myta,
Bon ben c'est sans doute moi qui suis bouché, j'ai copié bêtement tes instructions et chez moi ça ne fonctionne pas "message macro non trouvée".
Je vais essayer de trouver une autre solution car ces syntaxes tordues ne m'inspirent pas..
Merci en tout cas pour ton temps
Michel
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes