Conseil sur refresh code

Bonjour à tous

J'aurai besoin de vos lumière sur un problème que j'ai

J'ai un fichier dans lequel je vais récupérer plusieurs tableaux sur le web, je souhaiterai bloquer la mise à jour une fois toute les heures à partir du premier click

Exemple il est 8h si je clique sur GO MAJ la prochaine refresh sera bloquer jusqu'a 1h, donc la prochaine mise à jour sera pour après 9h.

La cellule de référence étant baser sur la fonction maintenant(), la cellule se mets a jour en auto si je modifie une autre cellule de la feuille par exemple, donc le code servant de blocage ne fonctionne pas.

Il faudrait que l'heure soit figer au moment du clique comme un genre de dernière modification et une fois les 1h passer l'heure se remet à jour et relance les 1h de blocage

j'ai l'intention d'y mettre un événement du type workbook.save une fois l'application fermer pour éviter que la personne ne ferme le fichier sans enregistrer et le ré-ouvre pour relancer le code etc

Je suis passer sur une fonction personnalisé du style :

Format(FileDateTime(ThisWorkbook.FullName), "mm/dd/yy hh:mm ampm")

Qui semble plus intéressante, mais elle ne se met pas à jour, du coup j'ai perdu le fil conducteur et me suis totalement perdu dans une logique sans logique

Car si je clique sur la macro qui colle l'heure de modification que sa soit dans le code ou par un événement worksheet, que cela va t'il donner au deuxième click de la macro, en bref je me suis paumer tout ça pour éviter des abus de collègues

Je précise que c'est un fichier test, le réel fichier ne peut être mis en ligne, don j'ai programmer celui ci, qui fonctionne bien sans ce truc de blocage à la noix

Auriez-vous des conseils ?

Pour voir ce que fais le fichier faut commenter le code de blocage pour avoir un aperçu

10shenzar-4.xlsm (37.32 Ko)

Bonsoir,

Une solution possible :

> après la mise à jour : enregistrement de la date

=> dans un onglet masqué, par exemple

=> autre solution (mieux) : dans un fichier texte à part

> enregistrement du fichier (dans le second cas, on n'aurait pas besoin de sauvegarder le fichier)

> lors du nouveau lancement :

=> lecture de la date de dernière MAJ

=> comparaison avec l'heure actuelle

=> blocage avec message s'il faut

NB : à part la date de MAJ stockée dans le fichier Excel, le reste est géré dans le code VBA (comparaison avec "Now()"

cf fichier en PJ, à tester.

Bouben

10shenzar-4-v0-1.xlsm (31.94 Ko)
Rechercher des sujets similaires à "conseil refresh code"