Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

lancement d'une macros à une heure précise

9 réponses
Avatar
sice
Bonjour,
Je souhaiterais qu'une macro se lance automatiquement tous les jours à une
heure présice. j'ai utilisé application. on time (08:00:00) "toto", mais la
macro ne s'est exécutée qu'une seule fois après que j'eu lancé l'exécution
avant l'heure indiquée, le lendemain à la même heure il ne s'est rien passé
alors qu'elle était active avant l'heure de lancement.
Que dois je faire? votre aide sera la bienvenue !
merci d'avance

9 réponses

Avatar
JB
Bonjour,

On veut afficher le 2eme onglet à 11:18:00

Private Sub Workbook_Open()
heure = "11:18:00"
Application.OnTime EarliestTime:=TimeValue(heure), Procedure:="Tache"
End Sub

Sub Tache()
Sheets(2).Activate
End Sub



Bonjour,
Je souhaiterais qu'une macro se lance automatiquement tous les jours à une
heure présice. j'ai utilisé application. on time (08:00:00) "toto", m ais la
macro ne s'est exécutée qu'une seule fois après que j'eu lancé l' exécution
avant l'heure indiquée, le lendemain à la même heure il ne s'est ri en passé
alors qu'elle était active avant l'heure de lancement.
Que dois je faire? votre aide sera la bienvenue !
merci d'avance


Avatar
JB
Il faut réactiver Application.OnTime:

http://cjoint.com/?hAlF6Gv71U

Affiche l'heure:

Dim temps

Sub majHeure()
Sheets("feuil1").Calculate
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End Sub

Sub auto_open()
majHeure
End Sub

Sub auto_close()
On Error Resume Next
Application.OnTime temps, Procedure:="majHeure", Schedule:úlse
End Sub

JB

Bonjour,
Je souhaiterais qu'une macro se lance automatiquement tous les jours à une
heure présice. j'ai utilisé application. on time (08:00:00) "toto", m ais la
macro ne s'est exécutée qu'une seule fois après que j'eu lancé l' exécution
avant l'heure indiquée, le lendemain à la même heure il ne s'est ri en passé
alors qu'elle était active avant l'heure de lancement.
Que dois je faire? votre aide sera la bienvenue !
merci d'avance


Avatar
sice
Merci JB ,mais ce que je ne cmprends tj pas pourquoi avec la procédure
suivante :
Sub démarrage()
Application.OnTime TimeValue (11:15:00),"ma procédure"
End Sub
la macro se lance une première fois mais demain à la même heure elle ne se
lance pas ? je rappels que "ma procédure" se trouve dans un module autre que
la feuille Thisworbook.
merci


Bonjour,

On veut afficher le 2eme onglet à 11:18:00

Private Sub Workbook_Open()
heure = "11:18:00"
Application.OnTime EarliestTime:=TimeValue(heure), Procedure:="Tache"
End Sub

Sub Tache()
Sheets(2).Activate
End Sub



Bonjour,
Je souhaiterais qu'une macro se lance automatiquement tous les jours à une
heure présice. j'ai utilisé application. on time (08:00:00) "toto", mais la
macro ne s'est exécutée qu'une seule fois après que j'eu lancé l'exécution
avant l'heure indiquée, le lendemain à la même heure il ne s'est rien passé
alors qu'elle était active avant l'heure de lancement.
Que dois je faire? votre aide sera la bienvenue !
merci d'avance






Avatar
JB
Ce n'est pas une procédure qui est exécutée périodiquement mais une
seule fois. Il faut donc la réactiver avec OnTime

Dim temps
Sub majHeure()
Sheets("feuil1").Calculate
temps = Now + TimeValue("00:00:1")
Application.OnTime temps, "majHeure"
End Sub

JB


Merci JB ,mais ce que je ne cmprends tj pas pourquoi avec la procédure
suivante :
Sub démarrage()
Application.OnTime TimeValue (11:15:00),"ma procédure"
End Sub
la macro se lance une première fois mais demain à la même heure ell e ne se
lance pas ? je rappels que "ma procédure" se trouve dans un module autr e que
la feuille Thisworbook.
merci


Bonjour,

On veut afficher le 2eme onglet à 11:18:00

Private Sub Workbook_Open()
heure = "11:18:00"
Application.OnTime EarliestTime:=TimeValue(heure), Procedure:="Ta che"
End Sub

Sub Tache()
Sheets(2).Activate
End Sub



Bonjour,
Je souhaiterais qu'une macro se lance automatiquement tous les jours à une
heure présice. j'ai utilisé application. on time (08:00:00) "toto ", mais la
macro ne s'est exécutée qu'une seule fois après que j'eu lanc é l'exécution
avant l'heure indiquée, le lendemain à la même heure il ne s'es t rien passé
alors qu'elle était active avant l'heure de lancement.
Que dois je faire? votre aide sera la bienvenue !
merci d'avance








Avatar
RENAUD Eric
Pour réaliser cela, j'ai crée un fichier exécutable en VB6 et un fichier INI
associé du type et donc pas besoin d'avoir ton fichier Excel ouvert en
permanence.
--------------------------------------
Le fichier INI avec les sections

[NbFiles]
Nombre=1

[Numero]
NameFile1="C:ExcelAutoFilePG-EM27 partiel Tous.xls"
-------------------------------
Ensuite cet exécutable est programmé à l'aide du gestionnaire des Tâches
planifiées et cela fonctionne correctement depuis bientôt 3 ans.
Il faut par contre dans le fichier Excel ajouter un bout de code dans
l'évenement Workbook_Open

Private Sub Workbook_Open()
Call JeLanceLeProgramme ' le nom de la macro qui lance le programme
ActiveWorkbook.Close savechanges:úlse
End Sub
Si cela t'intéresse, je peux t'envoyer cet executable

Salutations



"sice" a écrit dans le message de news:

Bonjour,
Je souhaiterais qu'une macro se lance automatiquement tous les jours à une
heure présice. j'ai utilisé application. on time (08:00:00) "toto", mais
la
macro ne s'est exécutée qu'une seule fois après que j'eu lancé l'exécution
avant l'heure indiquée, le lendemain à la même heure il ne s'est rien
passé
alors qu'elle était active avant l'heure de lancement.
Que dois je faire? votre aide sera la bienvenue !
merci d'avance


Avatar
Anna Purna
bonjour Eric,

je ne pense pas être la seule interessée par ta façon de faire. Tu
pourrais expliquer un peu plus s'il te plaît ? Tu parles de VB6, mais
est-il possible de le faire en VBS ?

merci beaucoup.

-----

RENAUD Eric a formulé ceci :
Pour réaliser cela, j'ai crée un fichier exécutable en VB6 et un fichier INI
associé du type et donc pas besoin d'avoir ton fichier Excel ouvert en
permanence.
--------------------------------------
Le fichier INI avec les sections

[NbFiles]
Nombre=1

[Numero]
NameFile1="C:ExcelAutoFilePG-EM27 partiel Tous.xls"
-------------------------------
Ensuite cet exécutable est programmé à l'aide du gestionnaire des Tâches
planifiées et cela fonctionne correctement depuis bientôt 3 ans.
Il faut par contre dans le fichier Excel ajouter un bout de code dans
l'évenement Workbook_Open

Private Sub Workbook_Open()
Call JeLanceLeProgramme ' le nom de la macro qui lance le programme
ActiveWorkbook.Close savechanges:úlse
End Sub



Si cela t'intéresse, je peux t'envoyer cet executable

Salutations



"sice" a écrit dans le message de news:

Bonjour,
Je souhaiterais qu'une macro se lance automatiquement tous les jours à une
heure présice. j'ai utilisé application. on time (08:00:00) "toto", mais la
macro ne s'est exécutée qu'une seule fois après que j'eu lancé l'exécution
avant l'heure indiquée, le lendemain à la même heure il ne s'est rien passé
alors qu'elle était active avant l'heure de lancement.
Que dois je faire? votre aide sera la bienvenue !
merci d'avance




Avatar
RENAUD Eric
Je crois avoir un jour essayé avec du code trouvé par hasard et cela ne
fonctionnait pas et en plus je ne sais pas si on peut gérer le cas d'iun
traitement par lot (je ne connais pas VBS).
L'avantage en VB6 est d'avoir un fichier INI facilement paramétrable pour le
chemin et les noms de fichiers à traiter.
J'ai donc décidé de faire cela en VB6 et j'avoue que j'en suis très
satisafait.
En plus on s'affranchit du message "Voulez-vous activer les macros" qui
pénalise si l'on veut avor un niveau de sécurité correct (Moyen par
exemple).
En VB6 il suffit d'avoir l'EXE et garder la structure du fichier INI et cela
fonctionne pour n'importe quel(s) fichier(s) à traiter.
Seule condition qui n'est pas contraignante le fichier EXE et INI doivent
avoir le même nom :
Exemple :
Autofile.exe
Autofile.ini

Dans le cas d'un traitement par lot, l'avantage c'est que quel que soit le
temps de traitement qui peut varier d'un jour à l'autre en fonction du
volume de données,
l'enchainement se fait parfaitement à savoir le second traitement ne
commence que lorsque le premier est terminé et ainsi de suite.

Exemple de traitement par lot :
Le fichier EXE va traiter cela par une boucle : lancer le 1er fichier, une
fois terminé, lancer le second et ainsi de suite ...

[NbFiles]
Nombre=4

[Numero]
NameFile1="C:ExcelAutoFilePG-EM27 Finis Airbus.xls"
NameFile2="C:ExcelAutoFilePG-EM27 Finis.xls"
NameFile3="C:ExcelAutoFilePG Jaunet.xls"
NameFile4="C:ExcelAutoFilePG Refs nlles-anciennes Airbus.xls"

Je reste à votre disposition pour toutes infos complémentaires

Salutations

"Anna Purna" a écrit dans le message de news:

bonjour Eric,

je ne pense pas être la seule interessée par ta façon de faire. Tu
pourrais expliquer un peu plus s'il te plaît ? Tu parles de VB6, mais
est-il possible de le faire en VBS ?

merci beaucoup.

-----

RENAUD Eric a formulé ceci :
Pour réaliser cela, j'ai crée un fichier exécutable en VB6 et un fichier
INI associé du type et donc pas besoin d'avoir ton fichier Excel ouvert
en permanence.
--------------------------------------
Le fichier INI avec les sections

[NbFiles]
Nombre=1

[Numero]
NameFile1="C:ExcelAutoFilePG-EM27 partiel Tous.xls"
-------------------------------
Ensuite cet exécutable est programmé à l'aide du gestionnaire des Tâches
planifiées et cela fonctionne correctement depuis bientôt 3 ans.
Il faut par contre dans le fichier Excel ajouter un bout de code dans
l'évenement Workbook_Open

Private Sub Workbook_Open()
Call JeLanceLeProgramme ' le nom de la macro qui lance le programme
ActiveWorkbook.Close savechanges:úlse
End Sub



Si cela t'intéresse, je peux t'envoyer cet executable

Salutations



"sice" a écrit dans le message de news:

Bonjour,
Je souhaiterais qu'une macro se lance automatiquement tous les jours à
une
heure présice. j'ai utilisé application. on time (08:00:00) "toto", mais
la
macro ne s'est exécutée qu'une seule fois après que j'eu lancé
l'exécution
avant l'heure indiquée, le lendemain à la même heure il ne s'est rien
passé
alors qu'elle était active avant l'heure de lancement.
Que dois je faire? votre aide sera la bienvenue !
merci d'avance








Avatar
JB
Ily a aussi le planificateur de tâches de Windows.

JB

Merci JB ,mais ce que je ne cmprends tj pas pourquoi avec la procédure
suivante :
Sub démarrage()
Application.OnTime TimeValue (11:15:00),"ma procédure"
End Sub
la macro se lance une première fois mais demain à la même heure ell e ne se
lance pas ? je rappels que "ma procédure" se trouve dans un module autr e que
la feuille Thisworbook.
merci


Bonjour,

On veut afficher le 2eme onglet à 11:18:00

Private Sub Workbook_Open()
heure = "11:18:00"
Application.OnTime EarliestTime:=TimeValue(heure), Procedure:="Ta che"
End Sub

Sub Tache()
Sheets(2).Activate
End Sub



Bonjour,
Je souhaiterais qu'une macro se lance automatiquement tous les jours à une
heure présice. j'ai utilisé application. on time (08:00:00) "toto ", mais la
macro ne s'est exécutée qu'une seule fois après que j'eu lanc é l'exécution
avant l'heure indiquée, le lendemain à la même heure il ne s'es t rien passé
alors qu'elle était active avant l'heure de lancement.
Que dois je faire? votre aide sera la bienvenue !
merci d'avance








Avatar
jps
quand il marche, JB, quand il marche....le mien est kaput et je n'ai jamais
pu le réparer ; aussi, merci aux fabricants de freewares
performants...gagnent moins que bilou mais leur mérite est tout aussi grands
jps

"JB" a écrit dans le message de news:

Ily a aussi le planificateur de tâches de Windows.

JB

Merci JB ,mais ce que je ne cmprends tj pas pourquoi avec la procédure
suivante :
Sub démarrage()
Application.OnTime TimeValue (11:15:00),"ma procédure"
End Sub
la macro se lance une première fois mais demain à la même heure elle ne se
lance pas ? je rappels que "ma procédure" se trouve dans un module autre
que
la feuille Thisworbook.
merci


Bonjour,

On veut afficher le 2eme onglet à 11:18:00

Private Sub Workbook_Open()
heure = "11:18:00"
Application.OnTime EarliestTime:=TimeValue(heure), Procedure:="Tache"
End Sub

Sub Tache()
Sheets(2).Activate
End Sub



Bonjour,
Je souhaiterais qu'une macro se lance automatiquement tous les jours à
une
heure présice. j'ai utilisé application. on time (08:00:00) "toto",
mais la
macro ne s'est exécutée qu'une seule fois après que j'eu lancé
l'exécution
avant l'heure indiquée, le lendemain à la même heure il ne s'est rien
passé
alors qu'elle était active avant l'heure de lancement.
Que dois je faire? votre aide sera la bienvenue !
merci d'avance