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

Excel Discussion :

[MACRO VB] Fermeture de fichier au bout d'un temps donné


Sujet :

Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 157
    Points : 63
    Points
    63
    Par défaut [MACRO VB] Fermeture de fichier au bout d'un temps donné
    Bonjour,

    Peut-on rajouter à une macro existante, un bout de programme fermant le fichier Excel au bout de 5mn par exemple.

    Merci de votre aide.

  2. #2
    Membre éprouvé Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Points : 973
    Points
    973
    Par défaut
    bonjour. Oui

    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
    Private Sub CommandButton1_Click()
    Dim PauseTime, Start, Finish, TotalTime
     If (MsgBox("Fermer le classeur dans 5 secondes", 4)) = vbYes Then
     PauseTime = 5 ' Set duration.
     Start = Timer ' Set start time.
     Do While Timer < Start + PauseTime
     DoEvents ' permettre a d'autre processus de s'executer
     Loop
     Finish = Timer ' Set end time.
     TotalTime = Finish - Start ' Calculer le temps total.
     Else
     End
     End If
    ActiveWorkbook.Close True
    End Sub

  3. #3
    Membre habitué Avatar de Youni92
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 178
    Points : 182
    Points
    182
    Par défaut
    N'oubliez pas la fonction "recherche"
    http://www.developpez.net/forums/d12...ier-condition/
    When you have eliminated the impossible, whatever remains, however improbable, must be the truth. (Sherlock Holmes)

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Points : 2 156
    Points
    2 156
    Par défaut
    Bonjour,

    cf PJ

    Ferme le classeur après un temps d'inactivité dans les feuilles de calcul.

    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
     
    Dans un module:
     
    Public HeureArrêt
    Sub ProchainArret()
     HeureArrêt = Now + TimeValue("00:02:00")
     Application.OnTime HeureArrêt, "Fin"
     Sheets(1).[A1]=HeureArrêt
    End Sub
     
    Sub Fin()
      On Error Resume Next
      Application.OnTime HeureArrêt, Procedure:="Fin", Schedule:=False    'annule événnement
      ThisWorkbook.Close True
    End Sub
     
    Dans ThisWorkBook:
    Private Sub Workbook_Open()
     ProchainArret
    End Sub
     
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
     On Error Resume Next
     Application.OnTime HeureArrêt, Procedure:="Fin", Schedule:=False
     ProchainArret
    End Sub
     
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
      ThisWorkbook.Save
      'ThisWorkbook.Saved = True
      On Error Resume Next
      Application.OnTime HeureArrêt, Procedure:="Fin", Schedule:=False  ' annule événnement
    End Sub
    Jacques Boisgontier
    Fichiers attachés Fichiers attachés

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 157
    Points : 63
    Points
    63
    Par défaut
    Merci de votre aide,

    Votre macro est intéressante mais demande l'intervention humaine.

    Pouvez-vous me donner le code VBA pour enregistrer et fermer automatiquement sans validation et au bout d'un temps donné.
    Ce bout de code, je l'insèrerai dans ma macro déjà existante.

    Merci d'avance

Discussions similaires

  1. Fermer un socket au bout d'un temps donné sans réponse
    Par Myokara dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 05/06/2014, 10h53
  2. [MySQL] affichage aleatoire d'une variable avec changement au bout d'un temps donné
    Par spokito dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/07/2011, 20h02
  3. [XL-2007] Plantage excel à la fermeture du fichier avec macro si autre fichier excel ouvert
    Par Systémicien dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/03/2011, 09h00
  4. Fermeture de fichier xls via macro powerpoint
    Par ab1to dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 28/11/2009, 05h48
  5. [VBA-Word] lancement de macro à la fermeture de fichier
    Par perophron dans le forum VBA Word
    Réponses: 2
    Dernier message: 22/06/2007, 15h32

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