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

fermeture avec macro pas simple

5 réponses
Avatar
DENIS
Bonjour =E0 tous,=20

probl=E8me un peu tordu...

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


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

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

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

5 réponses

Avatar
gilbert
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" a écrit 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
Avatar
Michel Pierron
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" a écrit 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
Avatar
michdenis
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" a écrit 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
Avatar
DENIS
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" a écrit
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


.



Avatar
Michel Pierron
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" a écrit dans le message de
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" a écrit
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


.