Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives

Advertisement

 
 
LinkBack Outils de la discussion
Vieux 12/01/2005, 20h05   #1 (permalink)
Gabriel
Guest
 
Messages: n/a
Par défaut Exécution d'une macro à chaque heure

Bonjour le forum

Comment fait-on pour qu'une macro s'exécute à chaque heure sans qu'on lui demande en pesant sur un bouton ou d'une autre manière.
Bref que tout soit automatique sans présence humaine.

Merci

Gabriel
 
ANNONCES
Vieux 12/01/2005, 22h44   #2 (permalink)
tatiak
Guest
 
Messages: n/a
Par défaut Re: Exécution d'une macro à chaque heure

Bonsoir,
essaye et adapte ceci :

Option Explicit

Dim Lheure As Double
Dim Interval As Integer

Sub LancerTimer(NbS As Integer)
'L'application ExecutionTimer se lancera
'toutes les 0 heure, 0 minute et Interval seconde
Interval = NbS
Application.OnTime Now + TimeSerial(0, 0, Interval), "ExecutionTimer"
End Sub

Sub ArretTimer()
On Error Resume Next
Application.OnTime Lheure, "ExecutionTimer", , False
End Sub

Sub ExecutionTimer()
'code à exécuter à la fin de chaque Interval secondes

'code obligatoire
Lheure = Now + TimeSerial(0, 0, Interval)
Application.OnTime Lheure, "ExecutionTimer"
End Sub

(code trouvé sur le site de F.Sigonneau)
 
Vieux 13/01/2005, 16h37   #3 (permalink)
Gabriel
Guest
 
Messages: n/a
Par défaut Re: Exécution d'une macro à chaque heure

Bonjour Tatiak

Merci encore pour ton temps

Une chose que je comprends pas

C'est : Sub LancerTimer(NbS As Integer)

Le NbS as integer, c'est une déclaration de variable ??
Si c'est le cas pourquoi ne pas l'avoir fait avec lheure et Interval ??

Merci beaucoup
Bonne journée

Gabriel
 
Vieux 13/01/2005, 21h47   #4 (permalink)
tatiak
Guest
 
Messages: n/a
Par défaut Re: Exécution d'une macro à chaque heure

Bonsoir,
le code est à adapter, pour simplifier et pour un rythme=1heure :

Option Explicit

Dim Lheure As Double

Sub LancerTimer()
'L'application ExecutionTimer se lancera toutes les heures
'
Application.OnTime Now + TimeSerial(1,0, 0 ), "ExecutionTimer"
End Sub

Sub ArretTimer()
On Error Resume Next
Application.OnTime Lheure, "ExecutionTimer", , False
End Sub

Sub ExecutionTimer()
'code à exécuter à la fin de chaque heure

msgbox("Coucou!")

'code obligatoire
Lheure = Now + TimeSerial(1,0, 0 )
Application.OnTime Lheure, "ExecutionTimer"
End Sub

Dans le code "générique" précédent, Nbs est une variable que l'on passe à la routine LancerTimer. Pour lancer le processus, écrire: Lancertimer(10) pour une exécution toutes les 10 secondes par ex.
Et effectivement cette variable doit être déclarée au niveau de l'entête de la routine.

Bonne soirée
 
Vieux 11/02/2005, 19h04   #5 (permalink)
Ignotus
Guest
 
Messages: n/a
Par défaut Re: Exécution d'une macro à chaque heure


Bonjour,

J'ai profité de la question et de la réponse.
Et je cherche un moyen élégant de répéter l'opération, mais seulement un certain nombre de fois et de sortir de la routine.
Avec for next, le nombre défini s'exécute en rafale!

Merci et bonne soirée.
 
Vieux 12/02/2005, 16h06   #6 (permalink)
tatiak
Guest
 
Messages: n/a
Par défaut Re: Exécution d'une macro à chaque heure

Bonjour Ignotus,
j'ai réussi à retrouver la question!
donc voici une réponse dans le fichier joint qui est un exemple d'utilisation (destiné à l'origine pour Martin ; rythme "réglé" à 2secondes)
bon week-end
tatiak
Fichiers attachés
Type de fichier : zip TimerMartin.zip (12,2 Ko, 14 affichages)
 
Vieux 13/02/2005, 15h12   #7 (permalink)
Ignotus
Guest
 
Messages: n/a
Par défaut Re: Exécution d'une macro à chaque heure

Impeccable!
Merci Tatiak.
J'ai pu réaliser ce que je voulais; j'étais loin du compte. Ce n'est pas si simple!
En tous cas, ça marche.
Bonne fin de week-end.
Bernard.
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 00h09.


(C) 2006 Excel Downloads