Fermeture d'un classeur après quelques secondes

Bonjour,

Nous avons, sur un réseau, un fichier partagé permettant de gérer un planning d'inscription à des cours ouverts.

Le problème identifié est que si un adhérent ne ferme pas le classeur après son inscription (ou qu'il réduit simplement la fenêtre), le suivant voit un message d'erreur s'afficher, du style "lecture seule".

Je souhaiterais donc ajouter une macro permettant l'enregistrement des entrées et la fermeture automatique au bout de XX secondes (15 secondes par exemple), même si la personne n'a fait que "réduire" la fenêtre.

Si vous avez une solution à mon problème...

Très cordialement,

Un petit exemple. Attention : ce classeur se ferme au bout de 15 secondes

50timer.xlsm (16.87 Ko)

Tu gèreras l'erreur en fonction de ton besoin.

Bonjour,

un classeur trouvé ici ou là :

@ bientôt

LouReeD

Merci pour votre implication.

@ LouReeD : la macro ne fonctionne pas. Elle demande une mise à jour 64 bits...

@Optimix : l'inscription ne s'enregistre pas. Il faut également appuyer sur valider l'inscription pour que les 15 secondes se lancent. Donc si je ne valide pas, le classeur reste ouvert et les suivants sont bloqués.

Un ajout de mon besoin exact : je suis pierre et je souhaite m'inscrire sur la session de mardi 16 au soir. Sauf que Isabelle s'est inscrite pour mardi 9 matin et n'a pas fermée le tableau. Donc je suis bloqué dans le partage...

Nota : ici, le tableau n'est pas partagé... mais cela ne change rien...

Le problème identifié est que si un adhérent ne ferme pas le classeur après son inscription

Je t'ai juste mis une macro qui déclenche un timer. Au bout de 15 secondes, le classeur se ferme automatiquement. A toi de placer le timer où tu veux dans ton code et de le déclencher sur l'événement de ton choix, par exemple quand l'utilisateur valide son inscription.

Bonjour,

je ne suis pas sûr qu'enregistrer automatiquement sans une action de l'utilisateur soit une bonne idée.
Il suffit qu'il s'endorme la tête sur le clavier et des données écrasées sont enregistrées.
Il vaudrait mieux fermer sans enregistrer, tant pis pour celui qui s'est endormi sans enregistrer ses modifs.
eric

@eriiic : après réflexion, je suis d'accord avec toi. Je suis toujours aussi débutant en VBA. Dans l'exemple d'Optimix, c'est l'appui sur "Validation de l'inscription" qaui déclenche le timer.

En fait, je préfèrerais un timer de 15 secondes dès l'ouverture du classeur. La personne inscrit son nom dans la case souhaitée, clique sur enregistrer et sans rien faire, le classeur se ferme (à moins qu'elle ne clique sur "fermer").

Qu'elle s'inscrive ou pas, le timer ferme le classeur u bout de 15 sec. En bref, j'ouvre, je ne fais rien parce que je suis pris par autre chose. Le classeur se ferme sans que je m'en aperçoive et les autres adhérents peuvent faire leur inscription sans que je les bloque...

J'espère que je suis assez clair dans mes formulations...

Bonjour Pynatha, le Forum,

En retour un classeur pour test avec deux macros présentées ci-dessous.

La première a son code dans le workbook

Private Sub Workbook_Open()
Temps = Time + TimeValue("00:00:20")
Application.OnTime Temps, "Minuterie"
End Sub

Pour la seconde, la macro est dans le module.

Sub Minuterie()
Application.DisplayAlerts = False
'Stop
ThisWorkbook.Close

J'ai placé un Stop en commentaire. Le but étant de pouvoir modifier le temps de la macro Workbook_Open (ici à 20s) en ôtant le caractère ' marquant le commentaire. Cela stoppera ainsi la macro minuterie. Note que par la touche MAJ avant l'ouverture du classeur tu peux aussi bloquer l'exécution macro.

Sinon la fermeture du classeur ne te laissera pas le temps de le faire.

21classminute.xlsm (13.49 Ko)
Rechercher des sujets similaires à "fermeture classeur secondes"