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

Macros et VBA Excel Discussion :

[XL-2007] Fermeture automatique Userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 45
    Par défaut [XL-2007] Fermeture automatique Userform
    Bonjour,

    Mon problème est le suivant, j'ai récupérer sur le net qui me permet d'éteindre mon Userform au bout de 15 min. le but était de voir si la personne utilisée ou non le logiciel pour pouvoir l'éteindre.

    Voici le code :
    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
    Sub arretProg()
        'Affichage du temps restant avant fermeture
        userfCourant(0).Caption = "Fermeture dans : " & cmptArret & " secondes"
             If cmptArret = 0 Then
                'Sauvegarde du classeur
                ActiveWorkbook.Save
                'Puis fermeture du fichier
                ActiveWorkbook.Close
                Exit Sub
            End If
        'pagination du temps en seconde et lancement de la procèdure
        Application.OnTime temps + TimeValue("00:00:01"), procedure:="arretProg"
        'On décrémente le compteur
        cmptArret = cmptArret - 1
    End Sub
    La macro fonctionne, cependant quand je change de userform, donc userfCourant(0) devient le userform actif et on remet cmptArret à 900.

    Voici le code type au sein de l'ensemble de mes Userforms :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    cmptArret = 900
     Set userfCourant(0) = Identification
    'lancement de la procdure de vérification d'inactivité
        arretProg
    Et bien le programme au lieu de descendre les secondes 1 par une 1. Il me les fait descendre 2 par 2 ou 3 par 3.

    Je ne comprend vraiment pas le problème. Du coup au lieu d'avoir 900 secondes soit 15 minutes. il se ferme au bout de même pas 3 minutes.

    Merci de m'aider.

    Cordialement,
    Fyejumpy

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    que représente la variable temps et quel est sa valeur?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Application.OnTime Now + TimeValue("00:00:01"), procedure:="arretProg"

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 45
    Par défaut
    Et bien la variable temps représente l'heure actuelle je suppose. Et chaque seconde on rappel la fonction arretProg.

    Cependant j'ai essayer de créer une variable "temps" de type date. Je lui affecte le temps de la première ouverture du fichier au lieu de la rafraîchir à chaque. Cependant le temps ne défile plus.

    Code dans le userform:
    Code dans la fonction arretprog:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.OnTime temps + TimeValue("00:00:01"), procedure:="arretProg"
    Cordialement,

    Fyejumpy

  4. #4
    Invité
    Invité(e)
    Par défaut
    utilises Application.OnTime Now + TimeValue("00:00:01"), procedure:="arretProg"

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 45
    Par défaut
    Au départ je l'utilisé et on rencontre le même soucis. J'ai juste changer avec la variable temps. Cependant, on arrive au problème que le temps ne défile pas.

    En clair :
    Avec Now : problème d'incrémentation au niveau des secondes lors d'un changement de userForms.
    Avec temps : le temps défile d'une seconde puis s'arrête.


    Cordialement,
    Fyejumpy

  6. #6
    Invité
    Invité(e)
    Par défaut
    Temp n'est pas utile!
    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
    Sub arretProg()
        'Affichage du temps restant avant fermeture
        userfCourant(0).Caption = "Fermeture dans : " & cmptArret & " secondes"
             If cmptArret = 0 Then
                'Sauvegarde du classeur
                ActiveWorkbook.Save
                'Puis fermeture du fichier
                ActiveWorkbook.Close
                Exit Sub
             else
                    'pagination du temps en seconde et lancement de la procèdure
                    Application.OnTime now + TimeValue("00:00:01"), procedure:="arretProg"
            End If
     
        'On décrémente le compteur
        cmptArret = cmptArret - 1
    End Sub
    accessoirement le probème vient de cmptArret =900 mais pas de arretProg

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

Discussions similaires

  1. [XL-2007] Fermeture d'UserForm
    Par MidoCESI dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2014, 15h37
  2. [XL-2007] Fermeture automatique
    Par s.gallauziaux dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/11/2009, 10h22
  3. fermeture automatique d'un userform
    Par dodo28 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/03/2009, 01h08
  4. fermeture automatique pc a distance
    Par Chromatic dans le forum Windows XP
    Réponses: 10
    Dernier message: 15/05/2006, 19h04
  5. Menu déroulant à fermeture automatique
    Par michelsylv dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/10/2005, 16h35

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