Posez votre question Signaler

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

charlescharles 1Messages postés mardi 10 octobre 2006Date d'inscription 10 octobre 2006 Dernière intervention - Dernière réponse le 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!
Lire la suite 
Réponse
+0
moins plus
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?
Ajouter un commentaire
Réponse
+0
moins plus
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 ;-)
djetther- 30 mars 2008 à 20:02
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......
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
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!!
Peut-êtreUneRéponse 47Messages postés mardi 10 octobre 2006Date d'inscription 5 décembre 2006 Dernière intervention - 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
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
<Edit>Suppression</edit>
Ajouter un commentaire
Réponse
+0
moins plus
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!!
rouget- 26 avril 2009 à 03:48
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.
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
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
Nanonimous- 9 mars 2007 à 14:48
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 :-)
Répondre
smiX- 26 août 2010 à 10:40
Peut-êtreUneRéponse a parfaitement raison en parlant de l'utilisation des tâches planifiées
Répondre
Ajouter un commentaire
Ce document intitulé «  [VB excel] déclenchement macro heure donnée  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.