Restriction par VBA

Bonjour,

J'ai une question à vous posez je cherche une façon de donner une restriction à mon fichier je m'explique

J'ai un onglet cacher qui se met à jour par actualisation en cliquant sur le bouton actualiser tout et va chercher un fichier sur le bureau pour se mettre à jour par donnée externe.

Je souhaiterai cependant bloquer la mise à jour seulement une fois par heure car il y a des abus

C'est à dire que exemple il est 2:00:00 PM la personne fait une mise à jour ok, si il est 2:30:00 PM et tente une mise à jour la fichier lui dit : If ........ MsgBox ("Merci d'attendre plus d'une heure pour refaire la mise à jour!") Exit Sub End If

le fichier sert a donner aux personne une zone de travail avantageuse par rapport à une autre et il y a des abus

Par mise a jour macro sa marche en disant d'ouvrir le fichier et copier coller en disant par variable si Block >= à Time alors block la mise a jour, mais c'est trop long, je passe par mise à jour en utilisant actualiser tout en récupérant le fichier par donnée externe c'est plus rapide

Des idées les ami(e)s ?

Bonjour,

Pour le principe ?

Option Explicit
'dmàs est une celulle nommée
Public Sub Delai()
Dim currentDate, lastUpdate
    currentDate = VBA.CDbl(VBA.Now)
    lastUpdate = VBA.CDbl(Range("dmàj"))
    '1 minute dans l'exemple
    If (currentDate - lastUpdate) > 1 / 60 / 24 Then
        Range("dm?j").Value = currentDate
        MsgBox "Ok"
    Else
        MsgBox "Nok"
    End If
End Sub

Bonsoir,

Merci c'est super sa a l'air de bien marcher

J'ai rajouter : ActiveWorkbook.RefreshAll juste après If (currentDate - lastupdate) > 1 / 60 / 24 Then

Pour dire si c'est plus d'une minute tu rafraîchis si c'est moins tu block

Pour le bloquer sur une heure je dois effacer le /60 ? pour dire 1 / 24 de jour c'est bien ça

Bonjour,

Oui, 1 jour = 24 heures, 1 heure = 1/24, etc...

Cdlt.

Merci à toi

Rechercher des sujets similaires à "restriction vba"