IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Comment Ajouter Une condition a un code de fermeture automatique ? [AC-2003]


Sujet :

IHM

  1. #1
    Membre habitué Avatar de taz devil
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Avril 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2012
    Messages : 298
    Points : 141
    Points
    141
    Par défaut Comment Ajouter Une condition a un code de fermeture automatique ?
    Re Bonjour
    Voila j avais eu a utilisé un code pour la fermeture aprés un temps inactivité d une base . A cette fermeture j ai voulu ajouté une condition

    Code sans la condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Sub Form_Timer()
    ' IDLEMINUTES détermine le temps d'inactivité avant de déclencher la procédure d'alerte.
     
             Const IDLEMINUTES = 20 'correspond à 3 secondes (5/100 de 60 secondes)
     
             Static PrevControlName As String
             Static PrevFormName As String
     
             Dim ActiveFormName As String
             Dim ActiveControlName As String
             Dim ExpiredMinutes
     
             On Error Resume Next
     
             ' Capte le formulaire actif et le nom du contrôle
     
             ActiveFormName = Screen.ActiveForm.Name
             If Err Then
                ActiveFormName = "No Active Form"
                Err = 0
             End If
     
             ActiveControlName = Screen.ActiveControl.Name
                If Err Then
                ActiveControlName = "No Active Control"
                Err = 0
             End If
     
             ' Vérifie ce qui est actuellement actif et réinitialise temps expiration si :
             '    1. Aucun enregistrement d'action encore (code roule pour
             '       la première fois);
             '    2. Les noms précédents sont différents des noms courants
             '       (l'utilisateur a fait une action pendant l'intervalle de temps.
               If (PrevControlName = "") Or (PrevFormName = "") _
               Or (ActiveFormName <> PrevFormName) _
               Or (ActiveControlName <> PrevControlName) Then
                PrevControlName = ActiveControlName
                PrevFormName = ActiveFormName
                ExpiredTime = 0
             Else
                ' ...si non, c'est que l'utilisateur a été inactif pendant ce laps de temps,
                ' dès lors, on incrémente ExpiredTime
     
                ExpiredTime = ExpiredTime + Me.TimerInterval
             End If
     
             ' Le temps d'inactivité a-t-il dépassé la limite définie (IDLEMINUTES)?
             ExpiredMinutes = (ExpiredTime / 1000) / 60
             If ExpiredMinutes >= IDLEMINUTES Then
                ' ...si oui, on remet le temps d'expiration à 0...
                ExpiredTime = 0
                ' ...et appelle la sous-routine idletimedetected.
                IdleTimeDetected ExpiredMinutes
             End If
    End Sub
    Sub IdleTimeDetected(ExpiredMinutes)
    Application.Quit acSaveYes
    End Sub
    Code avec la condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    Sub Form_Timer()
    ' IDLEMINUTES détermine le temps d'inactivité avant de déclencher la procédure d'alerte.
     
             Const IDLEMINUTES = 20 'correspond à 3 secondes (5/100 de 60 secondes)
     
             Static PrevControlName As String
             Static PrevFormName As String
     
             Dim ActiveFormName As String
             Dim ActiveControlName As String
             Dim ExpiredMinutes
     
             On Error Resume Next
     
             ' Capte le formulaire actif et le nom du contrôle
     
             ActiveFormName = Screen.ActiveForm.Name
             If Err Then
                ActiveFormName = "No Active Form"
                Err = 0
             End If
     
             ActiveControlName = Screen.ActiveControl.Name
                If Err Then
                ActiveControlName = "No Active Control"
                Err = 0
             End If
     
             ' Vérifie ce qui est actuellement actif et réinitialise temps expiration si :
             '    1. Aucun enregistrement d'action encore (code roule pour
             '       la première fois);
             '    2. Les noms précédents sont différents des noms courants
             '       (l'utilisateur a fait une action pendant l'intervalle de temps.
               If (PrevControlName = "") Or (PrevFormName = "") _
               Or (ActiveFormName <> PrevFormName) _
               Or (ActiveControlName <> PrevControlName) Then
                PrevControlName = ActiveControlName
                PrevFormName = ActiveFormName
                ExpiredTime = 0
             Else
                ' ...si non, c'est que l'utilisateur a été inactif pendant ce laps de temps,
                ' dès lors, on incrémente ExpiredTime
     
                ExpiredTime = ExpiredTime + Me.TimerInterval
             End If
     
             ' Le temps d'inactivité a-t-il dépassé la limite définie (IDLEMINUTES)?
             ExpiredMinutes = (ExpiredTime / 1000) / 60
             If ExpiredMinutes >= IDLEMINUTES Then
                ' ...si oui, on remet le temps d'expiration à 0...
                ExpiredTime = 0
                ' ...et appelle la sous-routine idletimedetected.
                IdleTimeDetected ExpiredMinutes
             End If
    End Sub
    Sub IdleTimeDetected(ExpiredMinutes)
    If Groupe = "Gerants" Then
    Shell "D:\DIRECTION\La_Brioche_Doree\Log_Off.bat"
    End If
    If Groupe = "Direction" Then
    Application.Quit acSaveYes
    End If
    End Sub
    Groupe étant une Zone de texte du Formulaire

    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 371
    Points : 19 774
    Points
    19 774
    Billets dans le blog
    65
    Par défaut
    Bonsoir,

    Quelle est la question au juste

    Cdlt,

  3. #3
    Membre habitué Avatar de taz devil
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Avril 2012
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2012
    Messages : 298
    Points : 141
    Points
    141
    Par défaut Salut User
    En faite j ai posté les 2 codes . Le premier étant original de Microsoft qui permet de faire une fermeture automatique . A ce code j ai voulu ajouter une condition . C'est est le deuxième code mais ce code ne marchait pas et je voulais savoir où était mon erreur.
    Il s avére que le 2 ème code été bon mais que le soucis venait du .bat Je l remplacer par une fonction shutdown sa à marcher .
    Merci à toi user

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT 2.0] comment ajouter une condition ?
    Par khoukhain dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 14/04/2015, 13h48
  2. Réponses: 10
    Dernier message: 11/03/2013, 09h23
  3. [XL-2007] Comment integrer une condition dans mon code sendkey
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/07/2012, 16h36
  4. [Drupal] Comment ajouter une condition presave pour un type de contenu?
    Par maxwel56 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 26/04/2012, 18h25
  5. comment ajouter une condition if dans code VBA
    Par misig dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/12/2007, 00h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo