Bloquer l'impression sur une plage horaire

Bonjour,

J'aimerais bloquer les impressions de certaines feuilles mais de permettre de les imprimer entre 12h et 16h.

Je cherche à combiner l'instruction "Workbook_BeforePrint" et "Ontime" mais je ne trouve de solution nul part.

J'ai trouvé la première instruction pour bloquer les impression

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
End Sub

J'ai trouvé d'autres instructions avec "ontime"

Application.OnTime TimeValue("15:21:00"), "my_Procedure"

Je pensais pouvoir construire une instruction de ce genre :

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Application.OnTime TimeValue("12:00:00"), "Déverouiller l'impression"
Application.OnTime TimeValue("16:00:00"), "Vérouiller l'impression"
End Sub

Pouvez vous me donner un petit coup de pouce?

Merci par avance.

Bonjour,

essaie ceci

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    If Now() < Date + TimeValue("12:00:00") Or Now() > Date + TimeValue("16:00:00") Then Cancel = True
End Sub

Bonjour,

essaie ceci

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    If Now() < Date + TimeValue("12:00:00") Or Now() > Date + TimeValue("16:00:00") Then Cancel = True
End Sub

Merci beaucoup c'est exactement ca!!!!

j'ai oublié...serait il possible de rajouter un msgbox quand l'impression est bloquer du style

" Il est impossible d'imprimer les feuilles avant 12h"

et peux t'on forcer l'impression par un "mot de passe" si on veux imprimer avant midi?

Merci beaucoup

Bonjour

une manière de faire

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    If Sheets("feuil1").Range("zz1") <> "xyz" Then
        If Now() < Date + TimeValue("12:00:00") Or Now() > Date + TimeValue("16:00:00") Then
            MsgBox "l'impression n'est possible qu'entre 12:00 et 16:00"
            Cancel = True
        End If
    Else
        Sheets(1).Range("zz1") = ""
    End If
End Sub

pour forcer l'impression, mettre la valeur xyz en cellule ZZ1 sur feuil1

Bonjour

une manière de faire

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    If Sheets("feuil1").Range("zz1") <> "xyz" Then
        If Now() < Date + TimeValue("12:00:00") Or Now() > Date + TimeValue("16:00:00") Then
            MsgBox "l'impression n'est possible qu'entre 12:00 et 16:00"
            Cancel = True
        End If
    Else
        Sheets(1).Range("zz1") = ""
    End If
End Sub

pour forcer l'impression, mettre la valeur xyz en cellule ZZ1 sur feuil1

Merci beaucoup de ton aide

Résolu

Rechercher des sujets similaires à "bloquer impression plage horaire"