EXCEL - mon fichier se re ouvre tout seul
Jaasta
Messages postés
16
Statut
Membre
-
Jaasta Messages postés 16 Statut Membre -
Jaasta Messages postés 16 Statut Membre -
Salut tous le monde,
J'ai fait une macro en vba pour qu'un message s'ouvre au bout de 5 min apres ouverture de excel (malheureusement pas du fichier). voici le code que j'ai mis dans "thisworkbook" :
et voici le code des macros delai et delai2
Alors mon probleme avec ca c'est que lorsqu'un autre fichier est ouvert et que l'on ferme le premier (avec la macro) et bien au bout de 2 min il se re ouvre TOUT SEUL...
Est ce que quelqu'un à une explication et/ ou une solution???
J'ai l'impression que mes macros restent acitves meme si le fichier et donc le classeur auquel elles sont liées est fermé.
Merci d'avance
J'ai fait une macro en vba pour qu'un message s'ouvre au bout de 5 min apres ouverture de excel (malheureusement pas du fichier). voici le code que j'ai mis dans "thisworkbook" :
Private Sub Workbook_Open() Application.OnTime Now + TimeValue("00:05:00"), "delai" Application.OnTime TimeValue("20:30:00"), "delai2" End Sub
et voici le code des macros delai et delai2
Sub delai() Dim fermeture As Integer fermeture = MsgBox("Excel est ouvert depuis 5 minutes. Pour enregistrer et fermer, cliquez sur Oui.", bYesNo, "Rappel") If fermeture = vbYes Then ActiveWorkbook.Save ActiveWorkbook.Close Else MsgBox "S'il-vous-plaît, n'oubliez pas de fermer le fichier après utilisation !!!" Application.OnTime Now + TimeValue("00:02:00"), "delai" End If End Sub
Sub delai2() ActiveWorkbook.Save Application.Quit End Sub
Alors mon probleme avec ca c'est que lorsqu'un autre fichier est ouvert et que l'on ferme le premier (avec la macro) et bien au bout de 2 min il se re ouvre TOUT SEUL...
Est ce que quelqu'un à une explication et/ ou une solution???
J'ai l'impression que mes macros restent acitves meme si le fichier et donc le classeur auquel elles sont liées est fermé.
Merci d'avance
A voir également:
- EXCEL - mon fichier se re ouvre tout seul
- Comment ouvrir un fichier epub ? - Guide
- Fichier bin - Guide
- Fichier rar - Guide
- Ouvrir fichier .dat - Guide
- Comment réduire la taille d'un fichier - Guide
11 réponses
Bonsoir,
As-tu toujours le problème en supprimant Application.OnTime Now + TimeValue("00:02:00"), "delai"
dans la procédure délai ?
Il y a peut-être un problème d'arrêt des procédures puisque tu en relances une à chaque fois que tu décides de garder le classeur ouvert.
De plus, tu ferme ActiveWorkbook et non le premier classeur ouvert.
As-tu toujours le problème en supprimant Application.OnTime Now + TimeValue("00:02:00"), "delai"
dans la procédure délai ?
Il y a peut-être un problème d'arrêt des procédures puisque tu en relances une à chaque fois que tu décides de garder le classeur ouvert.
De plus, tu ferme ActiveWorkbook et non le premier classeur ouvert.
Bonsoir,
il faut que tu désactives ontime à la fermeture avec Schedule:=False.
Cet exemple montre comment annuler le paramétrage de OnTime de l'exemple précédent.
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="my_Procedure", Schedule:=False
Lors de ton activation il faut que tu notes l'heure car c'est celle-ci précisément qu'il faut lui passer...
Et de mémoire il préfère l'argument nommé donc garde bien le EarliestTime:=
eric
il faut que tu désactives ontime à la fermeture avec Schedule:=False.
Cet exemple montre comment annuler le paramétrage de OnTime de l'exemple précédent.
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="my_Procedure", Schedule:=False
Lors de ton activation il faut que tu notes l'heure car c'est celle-ci précisément qu'il faut lui passer...
Et de mémoire il préfère l'argument nommé donc garde bien le EarliestTime:=
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut et Merci pour les réponses mais j'ai encore des questions ;)
Gord21, j'ai déjà essayer de supprimer Application.OnTime Now + TimeValue("00:02:00") dans "delai" mais ca n'a pas marcher... Sinon le ActiveWorkbook, c'est le seul truc que j'ai trouvé pour fermer un classeur... Est ce qu'il y a un moyen de fermer un classeur spécifique?
Eriiic, je n'ai pas dû comprendre ton exemple car quand j'essaye de rajouter le earliestTime et le Schedule Excel m'affiche une erreur. Est ce que tu pourrais, s'il te plait, me ré expliquer???
Et sinon est ce qu'il y a un moyen que faire le décompte depuis l'ouverture du classeur et non pas depuis l'ouverture de Excel???
Merci Encore
Jaasta
Gord21, j'ai déjà essayer de supprimer Application.OnTime Now + TimeValue("00:02:00") dans "delai" mais ca n'a pas marcher... Sinon le ActiveWorkbook, c'est le seul truc que j'ai trouvé pour fermer un classeur... Est ce qu'il y a un moyen de fermer un classeur spécifique?
Eriiic, je n'ai pas dû comprendre ton exemple car quand j'essaye de rajouter le earliestTime et le Schedule Excel m'affiche une erreur. Est ce que tu pourrais, s'il te plait, me ré expliquer???
Et sinon est ce qu'il y a un moyen que faire le décompte depuis l'ouverture du classeur et non pas depuis l'ouverture de Excel???
Merci Encore
Jaasta
Bonjour,
Pour fermer un classeur spécifique, tu peux par exemple faire :
dans ta procédure Open
Dim classeur As Workbook
Set classeur = ActiveWorkbook
Application.OnTime Now + TimeValue("00:02:00"),"delai(classeur)"
...
puis
Sub delai(classeur_a_fermer As Workbook)
...
classeur_a_fermer.Close
...
End Sub
Sinon, pour le décompte, tu peux choisir de mettre ta macro dans le classeur que tu souhaites fermer (la macro se lancera à l'ouverture de ce classeur) ou dans un classeur qui s'ouvre quand tu lances Excel, tout dépend de ce que tu veux faire.
Judicieuse remarque d'Eriiic, pour l'explication, regarde l'aide de la fonction OnTime
Pour fermer un classeur spécifique, tu peux par exemple faire :
dans ta procédure Open
Dim classeur As Workbook
Set classeur = ActiveWorkbook
Application.OnTime Now + TimeValue("00:02:00"),"delai(classeur)"
...
puis
Sub delai(classeur_a_fermer As Workbook)
...
classeur_a_fermer.Close
...
End Sub
Sinon, pour le décompte, tu peux choisir de mettre ta macro dans le classeur que tu souhaites fermer (la macro se lancera à l'ouverture de ce classeur) ou dans un classeur qui s'ouvre quand tu lances Excel, tout dépend de ce que tu veux faire.
Judicieuse remarque d'Eriiic, pour l'explication, regarde l'aide de la fonction OnTime
quand j'essaye de rajouter le earliestTime et le Schedule Excel m'affiche une erreur
C'est précis ça...
L'exemple est celui de l'aide excel
Dépose ton fichier sur cijoint.fr et colle ici le lien fourni qu'on n'ait pas tout à reconstruire
eric
C'est précis ça...
L'exemple est celui de l'aide excel
Dépose ton fichier sur cijoint.fr et colle ici le lien fourni qu'on n'ait pas tout à reconstruire
eric
voili voilou le lien...
merci d'avance
http://www.cijoint.fr/cjlink.php?file=cj201001/cij5qh8f41.xls
Jaasta
merci d'avance
http://www.cijoint.fr/cjlink.php?file=cj201001/cij5qh8f41.xls
Jaasta
J'ai fini depuis plusieurs heures et le fichier ne s'est toujours pas réouvert.
On va attendre demain soir au moins pour être sûr, comme ça ça te laissera le temps de lire les réponses de l'autre post (et peut-être d'autres sur d'autres forums ?) que tu as fait sur le même sujet sans faire de lien ni sur l'un ni sur l'autre....
eric
On va attendre demain soir au moins pour être sûr, comme ça ça te laissera le temps de lire les réponses de l'autre post (et peut-être d'autres sur d'autres forums ?) que tu as fait sur le même sujet sans faire de lien ni sur l'un ni sur l'autre....
eric
Bon, j'ai vu que c'est sur un conseil que tu as posté là bas, j'suis un peu moins faché...
La prochaine fois met un lien vers tes autres posts que chacun profite des avancées des autres et ne travaille pas pour rien.
Et allège tes fichiers, 6Mo c'est beaucoup...
Courrier2010.zip
modifs faites dans Workbook_BeforeClose et dans module5
Je t'ai changé aussi activework.xxxx en thisworkbook.xxxx, il faut fermer ce fichier (celui où est la macro) et non celui sur lequel on travaille qui peut être tout autre
eric
La prochaine fois met un lien vers tes autres posts que chacun profite des avancées des autres et ne travaille pas pour rien.
Et allège tes fichiers, 6Mo c'est beaucoup...
Courrier2010.zip
modifs faites dans Workbook_BeforeClose et dans module5
Je t'ai changé aussi activework.xxxx en thisworkbook.xxxx, il faut fermer ce fichier (celui où est la macro) et non celui sur lequel on travaille qui peut être tout autre
eric
Salut,
Merci pour tout... désolé pour les postes à des endroits différents et les fichiers trop lourds...
Ca m'enleve une grosse epine du pied!!!
Merci encore!
Pierre
Ps: le reseau de la boite et le fait que les données en entrée soit chronologique ne permettent pas de faire un classeur partage... ;)
Merci pour tout... désolé pour les postes à des endroits différents et les fichiers trop lourds...
Ca m'enleve une grosse epine du pied!!!
Merci encore!
Pierre
Ps: le reseau de la boite et le fait que les données en entrée soit chronologique ne permettent pas de faire un classeur partage... ;)