jm7123
Messages postés4Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention22 septembre 2004
-
13 avril 2004 à 17:34
juvamine
Messages postés468Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention30 août 2007
-
15 avril 2004 à 12:50
Je cherche a fermer un seul classeur excel et ce depuis excel.
Pb : lorsque je demande de fermer le classeur specifier , ts les autres classeurs ouverts dans l'instance Excel se ferment aussi alors que je souhaiterais les garder ouverts......
jm7123
Messages postés4Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention22 septembre 2004 15 avril 2004 à 09:01
Non parce aue je l'utilise a l'interieur de la fonction callback "TimeProc" qui elle meme est applelée par SetTimer.
La fonction SetTimer est elle-même déclenchée par "Workbook_open". Et dans ce cas de figure faites le test cela ne marche pas.......
Je vous marque le code....peut être cela vous eclaireras.....
Encore merci!!
Private Sub Workbook_Open()
'Demarrage du compteur pour fermeture auto du classeur
'Fonction editee dans TempoFermeture
StartTimer
End Sub
___________________________________________________
___________________________________________________
Public Declare Function SetTimer Lib "user32" ( _
ByVal hWnd As Long, ByVal nIDEvent As Long, _
ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" ( _
ByVal hWnd As Long, ByVal nIDEvent As Long) As Long
Public TimerID As Long
Public TimerSeconds As Single
'Demarrage du compteur
'Cette fonction est appelee a l'ouverture du classeur
Sub StartTimer()
TimerSeconds = 600 'frequence d'actualisation du compteur
TimerID = SetTimer(0&, 0&, TimerSeconds * 1000&, AddressOf TimerProc)
End Sub
'Arret du compteur
Sub EndTimer()
On Error Resume Next
KillTimer 0&, TimerID
End Sub
'procedure appelee cycliquement pqr windows
'le temps de cycle est egal a la valeur de la variable TimerSeconds (exprimee en ms )*1000
Sub TimerProc(ByVal hWnd As Long, ByVal uMsg As Long, _
ByVal nIDEvent As Long, ByVal dwTimer As Long)
'Fin du compteur pour fermeture auto du classeur
EndTimer
Fermeture
End Sub
Sub Fermeture()
ThisWorkbook.Save
Windows("Base AdD et DA.MEI.V49.xls").Activate
ActiveWindow.Close
End Sub