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