fermeture avec macro pas simple

Le
DENIS
Bonjour tous,

problme un peu tordu

Ma macro "auto_open" demande au fichier de se fermer
automatiquement au bout de 10mn.
Un bouton sur la feuille permet de relancer l'userform et
relance la macro.
Je pensais que les 10mn de temps reprendrait par rapport
au moment ou je relanait la macro "auto_open2" mais
malheureusement elle garde en mmoire l'heure d'excution
de la 1re macro auto_open et se peut fermer le fichier en
pleine utilisation.
Y a t'il un moyen pour que l'excution de auto_open2 fasse
en sorte que l'on ai 10mn d'utilisation et donc annule ce
qui a t demand dans auto_open l'ouverture ?


Sub auto_open()
Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture"
end sub

Sub auto_open2()
Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture"
end sub

Sub fermeture()
ActiveWorkbook.Save
ThisWorkbook.Close
End Sub
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
gilbert
Le #1268701
bonjour Denis

Schedule Argument de type Variant facultatif. Cet argument a la valeur
True pour programmer une nouvelle procédure OnTime. Il a la valeur False
pour effacer une procédure précédemment définie. La valeur par défaut est
True.

Gilbert



"DENIS" news:0f4f01c42617$681115f0$
Bonjour à tous,

problème un peu tordu...

Ma macro "auto_open" demande au fichier de se fermer
automatiquement au bout de 10mn.
Un bouton sur la feuille permet de relancer l'userform et
relance la macro.
Je pensais que les 10mn de temps reprendrait par rapport
au moment ou je relançait la macro "auto_open2" mais
malheureusement elle garde en mémoire l'heure d'exécution
de la 1ère macro auto_open et se peut fermer le fichier en
pleine utilisation.
Y a t'il un moyen pour que l'exécution de auto_open2 fasse
en sorte que l'on ai 10mn d'utilisation et donc annule ce
qui a été demandé dans auto_open à l'ouverture ?


Sub auto_open()
Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture"
end sub

Sub auto_open2()
Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture"
end sub

Sub fermeture()
ActiveWorkbook.Save
ThisWorkbook.Close
End Sub
Michel Pierron
Le #1268699
Bonjour Denis;
Essaie:

Sub auto_open2()
Application.OnTime TimeValue(Time + TimeSerial(0, 10, 0)), "fermeture", , 0
Application.OnTime TimeValue(Time + TimeSerial(0, 10, 0)), "fermeture", , 1
End Sub

MP

"DENIS" news:0f4f01c42617$681115f0$
Bonjour à tous,

problème un peu tordu...

Ma macro "auto_open" demande au fichier de se fermer
automatiquement au bout de 10mn.
Un bouton sur la feuille permet de relancer l'userform et
relance la macro.
Je pensais que les 10mn de temps reprendrait par rapport
au moment ou je relançait la macro "auto_open2" mais
malheureusement elle garde en mémoire l'heure d'exécution
de la 1ère macro auto_open et se peut fermer le fichier en
pleine utilisation.
Y a t'il un moyen pour que l'exécution de auto_open2 fasse
en sorte que l'on ai 10mn d'utilisation et donc annule ce
qui a été demandé dans auto_open à l'ouverture ?


Sub auto_open()
Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture"
end sub

Sub auto_open2()
Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture"
end sub

Sub fermeture()
ActiveWorkbook.Save
ThisWorkbook.Close
End Sub
michdenis
Le #1268698
Bonjour Denis,


et lorsque tu relances ton formulaire, tu ajoutais à la procédure le nom de ta macro auto_open()

Je trouve ta demande pas très claire sur ce que tu veux faire.... si tu relances ton formulaire... Ajouter 10 minutes ou
annhiler la procédure auto_open()

'---------------------------
Sub NomProcédureRelançantFormulaire()

auto_open()
userform1.show


End sub
'---------------------------


Salutations!




"DENIS" Bonjour à tous,

problème un peu tordu...

Ma macro "auto_open" demande au fichier de se fermer
automatiquement au bout de 10mn.
Un bouton sur la feuille permet de relancer l'userform et
relance la macro.
Je pensais que les 10mn de temps reprendrait par rapport
au moment ou je relançait la macro "auto_open2" mais
malheureusement elle garde en mémoire l'heure d'exécution
de la 1ère macro auto_open et se peut fermer le fichier en
pleine utilisation.
Y a t'il un moyen pour que l'exécution de auto_open2 fasse
en sorte que l'on ai 10mn d'utilisation et donc annule ce
qui a été demandé dans auto_open à l'ouverture ?


Sub auto_open()
Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture"
end sub

Sub auto_open2()
Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture"
end sub

Sub fermeture()
ActiveWorkbook.Save
ThisWorkbook.Close
End Sub
DENIS
Le #1268693
Bonjour Michel,

Mais si je mets ces 2 lignes dans auto_open2 ca plante.
Le but c'est une fermeture automatique. Le fichier est
ouvert par auto_open pour 10mn et l'userform après action
peut etre réactivé par auto_open2 mais si il s'est écoulé
9mn après auto_open, auto_open2 ne réengage pas sur 10mn,
le fichier se ferme après la minute restante.
Ca veut dire quoi ", , 0" et ", , 1" ?

-----Message d'origine-----
Bonjour Denis;
Essaie:

Sub auto_open2()
Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture", , 0

Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture", , 1

End Sub

MP

"DENIS" dans le message de

news:0f4f01c42617$681115f0$
Bonjour à tous,

problème un peu tordu...

Ma macro "auto_open" demande au fichier de se fermer
automatiquement au bout de 10mn.
Un bouton sur la feuille permet de relancer l'userform et
relance la macro.
Je pensais que les 10mn de temps reprendrait par rapport
au moment ou je relançait la macro "auto_open2" mais
malheureusement elle garde en mémoire l'heure d'exécution
de la 1ère macro auto_open et se peut fermer le fichier en
pleine utilisation.
Y a t'il un moyen pour que l'exécution de auto_open2 fasse
en sorte que l'on ai 10mn d'utilisation et donc annule ce
qui a été demandé dans auto_open à l'ouverture ?


Sub auto_open()
Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture"
end sub

Sub auto_open2()
Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture"
end sub

Sub fermeture()
ActiveWorkbook.Save
ThisWorkbook.Close
End Sub


.



Michel Pierron
Le #1268689
Re Denis;
0 stoppe le compte à rebours, 1 (par défaut lance le compte à rebours).
Je pense que tu es obligé de passer par une variable intermédiaire pour que cela
marche:

Dim Start As Single

Sub auto_open()
Start = Now + TimeValue("00:10:00")
Application.OnTime Start, "fermeture"
End Sub

Sub auto_open2()
' Stop le compte à rebours
Application.OnTime Start, "fermeture", , 0
' Restart le compte à rebours
Call auto_open
End Sub

Sub fermeture()
ActiveWorkbook.Save
ThisWorkbook.Close
End Sub

MP

"DENIS" news:0f1801c4261e$91afabe0$
Bonjour Michel,

Mais si je mets ces 2 lignes dans auto_open2 ca plante.
Le but c'est une fermeture automatique. Le fichier est
ouvert par auto_open pour 10mn et l'userform après action
peut etre réactivé par auto_open2 mais si il s'est écoulé
9mn après auto_open, auto_open2 ne réengage pas sur 10mn,
le fichier se ferme après la minute restante.
Ca veut dire quoi ", , 0" et ", , 1" ?

-----Message d'origine-----
Bonjour Denis;
Essaie:

Sub auto_open2()
Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture", , 0

Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture", , 1

End Sub

MP

"DENIS" dans le message de

news:0f4f01c42617$681115f0$
Bonjour à tous,

problème un peu tordu...

Ma macro "auto_open" demande au fichier de se fermer
automatiquement au bout de 10mn.
Un bouton sur la feuille permet de relancer l'userform et
relance la macro.
Je pensais que les 10mn de temps reprendrait par rapport
au moment ou je relançait la macro "auto_open2" mais
malheureusement elle garde en mémoire l'heure d'exécution
de la 1ère macro auto_open et se peut fermer le fichier en
pleine utilisation.
Y a t'il un moyen pour que l'exécution de auto_open2 fasse
en sorte que l'on ai 10mn d'utilisation et donc annule ce
qui a été demandé dans auto_open à l'ouverture ?


Sub auto_open()
Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture"
end sub

Sub auto_open2()
Application.OnTime TimeValue(Time + TimeSerial(0, 10,
0)), "fermeture"
end sub

Sub fermeture()
ActiveWorkbook.Save
ThisWorkbook.Close
End Sub


.



Publicité
Poster une réponse
Anonyme