Fermeture fichier Excel

bonjour, je suis passionné d'Excel et j'aimerais créer une fichier Excel en réseau qui ne soit plus accessible à une certaine heure précise (17h30) aux autres utilisateurs à part moi et si le fichier est ouvert jusqu'à cette heure qu'il se ferme automatiquement en enregistrant les données. je suis nul en VBA et je sollicite humblement votre aide. Merci

Salut Max,

Tu trouveras en piece jointe un fichier qui contient la procédure que tu veux mettre en place.

La marche à suivre :

Place dans l'objet ThisWorkbook de ton fichier la procédure qui se trouve dans l'objet ThisWorkbook de mon fichier,

Définie si besoin l'heure à laquelle tu souhaites la fermeture du fichier (j'ai mis 17:30:00),

Place dans un module la procédure qui se trouve dans le module de mon fichier,

Enregistre et ferme ton fichier,

Ré-ouvre-le, il prendra en compte la procédure et se fermera à l'heure définie.

Bonjour,

fichier en réseau mais tu ne précises pas s'il est partagé ou non.

Dans ce contexte, en cas de modification contradictoire il y aura un message d'alerte supplémentaire et faudra traiter autrement. Et décider à la place de l'utilisateur si tu perds une modif ou si tu écrases une précédente enregistrée.

C'est juste une interrogation au cas où...

eric

bonjour Eric et merci de ton travail accomplis ,

oui le document est en réseau excuse moi si je n'ai pas précisé et je me lance pour suivre la procédure donné récemment je reviens te donner le résultat.

Non, merci Gaz0line

Mais tu ne réponds pas à la question : est-il partagé ?

oui le fichier est partagé et en réseau et pardon merci Gaz0line ça fonctionne je suis vraiment très content ton aide et ta mabilité mais j'aimerais savoir est-il possible d’empêcher totalement son accès après cette heure et qu'il redevienne accessible le lendemainN

Voilà pour toi. Un message d'accès refusé s'active à partir de 17h30 et ce, pendant 15h30 (c'est à dire jusqu'à 9h00).

Si dans cette période une personne ouvre le fichier, le pop up suivant apparait : "Ce fichier est accessible de 9h00 à 17h30, il est xxh. Accès refusé", et quand la personne clique sur ok, le fichier se ferme.

Je t'invite tout de même à tenir compte des remarques d'eriiic, car en effet si ton fichier est partagé , si plusieurs utilisateurs ont fait une modif dans une même cellule, au moment d'enregistrer à 17h30, le fichier ne sera pas en mesure de choisir quelle modif privilégier et ton fichier restera ouvert toute la nuit avec un message d'erreur...

Bonjour à tous,

Gazoline, j'ai voulu voir ce que tu avais fait et il m'a refusé l'ouverture.

C'est à l'heure de new-york qu'il faut être ?

Et sur le précédent il s'était rouvert tout seul à 17h30 pour exécuter la macro programmée de fermeture obligatoire:-)

Je ne sais pas si tu l'as rajouté dans celui là mais il faudrait désactiver le ontime à la fermeture du fichier avec Schedule:=False

eric

Merci beaucoup je suis content des nouvelles modifications apportées sur le document cela fonctionne à merveille travail super

s'il te plait Eric je voulais savoir ce que tu suggères par rapport au fait qu'il soit partagé et en réseau peux tu apporter d'autres modifications pour pallier à ce soucis?

Déjà pose-toi la question de savoir s'il est judicieux de sauvegarder le fichier qu'un utilisateur a laissé en plan pour rentrer chez lui.

Moi j'aurais fait le choix inverse : ne rien sauvegarder.

1) s'il est consciencieux il doit sauvegarder ses modifications. Qu'il ne vienne pas râler s'il doit tout refaire le lendemain...

Surtout pour un fichier partagé où tu as tout intérêt à enregistrer à chaque série de modif. Ca fait en moins de risque de collision à gérer.

2) si lui ou son voisin a posé sa sacoche sur le clavier au moment de partir tu vas te retrouver avec des grosses bouses au milieu des feuilles qui te feront perdre des données correctes.

Pour moi l'enregistrement doit être une action volontaire.

Si j'ai été convainquant plus de soucis. Il y a juste à fermer le fichier en mettant devant Application.DisplayAlerts = False

Salut eriiic,

bizarre pour la réouverture, ça ne m'a pas fait ça quand j'ai testé.

Concernant le message à l'heure de new york en effet, ça me le fait aussi mais je n'arrive pas à écrire une procédure qui fonctionne correctement, ontime a l'air un peu capricieux et j'ai pas trouver grand chose en cherchant de la doc.

Notamment sur les paramètres facultatifs et surtout "LatestTime"...

En bricolant j'ai réussi à ouvrir ton fichier sans qu'il se referme aussitôt mais excel n'aime pas ma technique : rien dans ThisWorkbook alors que j'ai bien la boite à l'ouverture (?).

J'ai donc fait entièrement ma version (sans sauvegarde)

eric

PS : je viens de penser : il y a une autre technique.

Tu peux déconnecter tous les utilisateurs d'un classeur partagé. Comme ça, même en pleine journée, tu peux intervenir sur le classeur.

Il faut prévenir les utilisateurs de sauvegarder car ils se retrouveront sur une copie au lieu du fichier d'origine.

Tu dis si ça t'intéresse...

Ah ah excel n'a effectivement pas du aimer ta méthode car il y a bien quelque chose dans this workbook normalement ^^

j'ai essayé d'ouvrir ton classeur pour regarder comment tu as fait, histoire d'apprendre , mais il est 00:35

"Avant l'heure c'est pas l'heure, après l'heure, c'est plus l'heure ! "

J'ai plus qu'à bidouiller l'heure système de mon pc

  If Time > TimeValue("17:30") Or Time < TimeValue("09:00") Then

Des fois je me demande pourquoi j'essaie de faire compliquer alors que c'est évident qu'il fallait l'écrire comme ça ^^

Merci pour ce code, j'ai compris comment on fait pour annuler la tache pour pas que ça relance le fichier dans l'unique but de le fermer ^^

Bonjour à tous,

"Avant l'heure c'est pas l'heure, après l'heure, c'est plus l'heure ! "

J'ai plus qu'à bidouiller l'heure système de mon pc

Oui, du coup il aura bien libéré le fichier des utilisateurs mais si c'est pour le modifier il ne pourra pas l'ouvrir

Il va falloir ajouter une liste d'utilisateurs non concernés qui puissent toujours l'ouvrir. Je verrais un peu plus tard.

eric

edit : fichier modifié.

On peut ajouter une liste des identifiants non concernés.

Ceux-ci peuvent ouvrir le classeur à n'importe qu'elle heure.

Si ils l'ouvrent pendant les heures de travail possibilité de dé-connecter les utilisateurs et de supprimer le partage pour pouvoir intervenir sur le code.

Attention, ils se retrouvent sur une copie sans le voir (ils seront avertis au moment de l'enregistrement) et ne pourront plus sauvegarder leur modif. Les informer avant et leur laisser le temps d'enregistrer.

je voulais particulièrement vous remercier tous pour votre travail et un travail bien fait. Eric tes remarques sont justes et j'ai appliqué ce que tu m'a dit et tout fonctionne, Gazoline hum c'est majestueux ton travail et j'espere travailler avec vous prochainement cela me donne de plus aimer Excel et vouloir devenir vraiment pro

Salut max357,

Prend au final le fichier d'Eric qui fonctionne mieux que le mien et qui permet maintenant d'enregistrer une liste de personnes qui seront autorisées à ouvrir le fichier quelle que soit l'heure. (à moins que tu l'aies déjà pris et que tu te perdes dans les pseudo... !! )

La palme du fichier fonctionnel lui revient, et de loin

Rechercher des sujets similaires à "fermeture fichier"