Probleme d'execution macro

Bonjour,

Je rencontre des difficultés avec cette macro.

Si je met "End If" entre "cancel = True" et Else, cela me demande le mot de passe. Avec le bon mot de passe, la procédure d'impression ne se réalise pas.

Inversement, si je déplace "end If" après la procédure, ca ne fonctionne pas correctement.

Merci pour votre coup de pouce...

If Now() < Date + TimeValue("12:00:00") Or Now() > Date + TimeValue("18:00:00") Then

Motdepasse = "123"
X = InputBox("Vous n'etes pas autorisé à imprimer les fiches de production avant 12h. Veuillez entrer votre mot de passe administrateur pour autoriser les impressions")
If X <> Motdepasse Then
'MsgBox (" Veuillez entrer un mot de passe valide !"), vbCritical
Cancel = True
End If
     Else

     ...Procédure

Bonsoir,

En omettant la déclaration de procédure, tu masques une information fondamentale pour évaluer le code !

Alors c'est tout de même bancal, car testant s'il est en dehors des heures autoriséees, si c'est le cas tu dois le signaler et sortir sans rien d'autre !

S'il est dans les heures tu demandes le mot de passe, et s'il est fourni tu exécutes, s'il ne l'est pas tu sors !

Variante, le redemander une deuxième fois, éventuellement une troisième avant de sortir (implique une boucle Do... Loop pour répéter la demander, compter le nombre...)

Cordialement.

Merci de ton aide mais je n'ai rien compris...

J'aimerai obtenir le résultat suivant :

Si l'impression n'est pas dans la plage horaire autorisé, alors il me demande le mot de passe et ensuite l'impression est lancé.

ou

Si l'impression est autorisé dans la plage horaire, cela lance automatiquement l'impression.

Ah ! Dans ton cas le mot de passe n'est pas destiné à accéder à l'impression mais à opérer dans une plage horaire non autorisée...

Dans ce cas :

    If Now() < Date + TimeValue("12:00:00") Or Now() > Date + TimeValue("18:00:00") Then
        Motdepasse = "123"
        X = InputBox("Vous n'etes pas autorisé à imprimer les fiches de production avant 12h. " _
         & "Veuillez entrer votre mot de passe administrateur pour autoriser les impressions")
        If X <> Motdepasse Then
            MsgBox ("Mot de passe invalide !"), vbCritical
            Exit Sub
        End If
    End If
    '...Procédure

Cordialement.

Yes...Merci beaucoup pour le coup de pouce

Rechercher des sujets similaires à "probleme execution macro"