Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 ecran d'affichage mise a jour heure précise.

clemfarfar

XLDnaute Nouveau
bonjour a tous,

je me suis fait une macro d'un affichage déporté.

L' excel est ouvert 24/24 7/7 , j'ai donc au début utilisé dans thisworkbook :

Private Sub Workbook_Open()
Application.OnTime TimeValue("05:30:00"), "mise a jour du fichier"
Application.OnTime TimeValue("13:00:00"), "mise a jour du fichier"
Application.OnTime TimeValue("18:00:00"), "mise a jour du fichier"
End Sub

Le lendemain, les mise a jour ne fonctionnent plus , normal, c'est une macro qui se lance a l'ouverture. Mais moi , je voudrais une macro qui se lance en continue avec ces heures la, et j'ai pensé faire
ceci dans le thisworkbook:

Private Sub Workbook_Open()
call activation
End Sub


ceci dans un module :
Sub activation()
Application.OnTime TimeValue("05:30:00"), "mise a jour du fichier"
Application.OnTime TimeValue("13:00:00"), "mise a jour du fichier"
Application.OnTime TimeValue("18:00:00"), "mise a jour du fichier"
End Sub


et dans la macro de mise a jour :

sub mise a jour du fichier()
...
...
.......
.........
call activation
end sub


Question :

Est ce que si je fais ce système, est ce que mes mises a jour se feront aux heures demandé tout les jours ?
Sinon ma dernière solution sera d'appeler tout les 4 heures ?

sub activation()
Application.OnTime Now + TimeValue("04:00:00") "mise a jour du fichier" ....
call activation
end sub

merci de me répondre dés que vous pouvez
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour clemfarfar,

Voyez l'Aide Microsoft sur Application.Ontime.

Quand on exécute dans la macro Workbook_Open :
VB:
Application.OnTime TimeValue("05:30:00"), "MAJ"
la macro "MAJ" sera exécutée tous les jours à 5h30 si on ne ferme pas Excel.

Ensuite il ne faut pas exécuter de nouveau cette instruction.

C'est facile de tester tout ça non ?

A+
 
Dernière édition:

sousou

XLDnaute Barbatruc
bonsoir
Tu peux sans doute utiliser ce principe
Une table des horaires et un compteur
si tu souhaites recommencer en fin de cycle, tu réinitialise le compteur avant le end


Public n, mesvaleurs
Sub test()
n = 0
mesvaleurs = Array("18:49", "18:49:05", "18:49:10")
Application.OnTime mesvaleurs(n), "texte"
End Sub

Sub texte()
MsgBox "coucou" & n
n = n + 1
If n = UBound(mesvaleurs) + 1 Then End
Application.OnTime mesvaleurs(n), "texte"

End Sub
 

clemfarfar

XLDnaute Nouveau
bonjour @job75 , l'excel que j'ai fais est au taff, je l'ai mis en route mercredi , et a partir de jeudi , j'avais plus mes mises à jour , 8h00 ,15h00 , c'est pour cela que je cherche une autre solution apres je voulais etre sur que cela fonctionne pour relancer l'ecran lundi mais je vais tester plusieurs solutions

@sousou oui effectivement cette solution serait surement la plus propre :x
 

Modeste geedee

XLDnaute Barbatruc
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…