[VB excel] déclenchement macro heure donnée

Résolu/Fermé
charlescharles Messages postés 1 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 10 octobre 2006 - 10 oct. 2006 à 18:44
 smiX - 26 août 2010 à 10:40
Bonjour à tous,

j'aimerais savoir s'il existe un moyen de lancer une macro VB excel à une heure précise, quotidiennement, automatiquement sans avoir à appuyer sur quelque bouton que ce soit.
par exemple, j'aimerais qu'une macro se déclenche tous les jours à 16h...
est-ce possible??

merci pour vos lumières!
A voir également:

7 réponses

Bonjour, a tous je ne comprend pas pour quoi mon code ci-dessous ne fonctionne pas ou ci que l'envois du mail pas le déclenchement à heure fixe.
merci pour votre aide....

Sub SendPlng()
' lance la macro SendParMail à 09:00:00 heures
Application.OnTime TimeValue("15:51:00"), ("SendParMail"), True
End Sub

Sub SendParMail()
'cette macro envois par mail la feuille excel active
ThisWorkbook.Sheets("Fev").Copy
ActiveWorkbook.SendMail ("mohamed.hajjaji@free.fr")
ActiveSheet.Copy
End Sub
1
Dans SendParMail(), je crois que tu dois ré-armer ton trigger/timer. Bref, rajouter une ligne du genre:

Application.OnTime TimeValue("15:51:00"), "SendParMail"

Avec OnTime, une fois ta fonction appellée à 15h51, elle ne sera pas réappelée le lendemain à 15h51. Ce serait trop beau ;-)


J'ai aussi une sheet Excel constament ouverte sur une station Reuters (taux de change, etc..). Dans l'auto_open(), je lance via OnTime un truc à 21h00. Dans la fonction appellée à 21h00, j'exécute mon code, j'attend 10 secondes (Application.Wait Now + TimeValue("00:00:10")) et puis je redemande une exécutuion à 21h00... (et j'espere qu'Excel comprendra que c'est 21h00 LE LENDEMAIN vu que je lui demande ça à 21:00 et 10 secondes :-)
0
Peut-êtreUneRéponse a parfaitement raison en parlant de l'utilisation des tâches planifiées
0
Peut-êtreUneRéponse Messages postés 47 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 5 décembre 2006 11
10 oct. 2006 à 23:35
En y réflichissant un peu plus, tu peux lancer ta macro avec OnTime:

Application.OnTime(EarliestTime, Procedure, [LatestTime], [Schedule])

Mais ton fichier excel doit être ouvert... on en revient à mon intervention initiale: planification d'une tâche d'ouverture du fichier ;-)
0
bonjour,


j'ai un probleme , et j'aurais besoin de ton aide...

Voici mon probleme:

J'ai dans une cellule A1 le temps qui s'afiche sous forme de chronomètre( c'est à dire l'équivalent de la fonction maintenant() sauf qu'elle est affichée sous forme de chronomètre)

J'ai dans une deuxieme cellule B1, figer une heure.

Et dans une 3ème C1 , j'obtiens le temps qui s'ecoule en faisant la différence entre A1 et B1.
Mon probleme actuel le temps écoulé se calcul 24h/24 et 7j/7, mais moi je voudrais que le temps qui s'écoule soit uniquement calculé sur les heures d'ouverture (8h-12h et 13h-17h).

Ansi, je voudrais que ma cellule qui calcul le temps écoulé soit active si et seulement si l'heure sous forme de chronometre dans ma cellule est comprise entre : 8h-12h et 13h-17h

Merci de ton aide......
0
charlescharles
11 oct. 2006 à 12:26
le fichier est ouvert en permanence. je vais donc regarder du côté d'Application.OnTime(EarliestTime, Procedure, [LatestTime], [Schedule]), ça me semble pouvoir marcher...

je te ferai un feed back dés que j'aurai pu avancer ça...

en tous les cas merci pour ton aide!!
0
Peut-êtreUneRéponse Messages postés 47 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 5 décembre 2006 11
11 oct. 2006 à 14:10
Si cette solution te paraît intéressante tu trouveras une explication du fonctionnement de OnTime en suivant ce lien: www.excelabo.net/xl/tempo.php#OnTime
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
11 oct. 2006 à 12:52
Salut,

je n'ai pas essayer mais tu peux voir aussi côté gestionnaire de tâches pour voir si ton classeur tu peux l'ouvrir à une certaine heure. Ensuite le rélais est passe à ta macro.

lami20j
0

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

Posez votre question
Peut-êtreUneRéponse Messages postés 47 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 5 décembre 2006 11
11 oct. 2006 à 14:08
<Edit>Suppression</edit>
0
charlescharles
24 oct. 2006 à 17:45
la fonction application.OnTime s'est révélée payante...

il suffit d'insérer ce code dans la macro Auto_Open de ThisWorkBook en indiquant l'heure et la macro (contenue dans un module) à démarrer à heure fixe.
lorsque le classeur est ouvert par l'utilisateur, excel 'lit' qu'il doit exécuter la macro indiquée et le tour est joué.

merci pour votre aide!!
0
Bonjour Charles,

Je ne n'arrive toujours à faire l'envoi auto de ma macro à une heure précise.
Aurais tu la gentillesse de m'envoyer le code de ta macro stp.

Merci d'avance,

Rouget.
0
Peut-êtreUneRéponse Messages postés 47 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 5 décembre 2006 11
10 oct. 2006 à 23:25
Bonjour,

pourquoi ne pas utiliser une tâche planifié (avec le planifiacteur de tâche) qui ouvrirait ton fichier excel contenant un macro sur évènement workbok_open?
-1