Fermeture planifié

Bonjour,

J'aimerais que mon excel se ferme 1h après son ouverture:

Voici le code:

Private Sub Workbook_Open()

On Error Resume Next
Dim i As Integer, wbk As Workbook, wbk2 As Workbook, a As String, b As String
Set wbk = ThisWorkbook
Set wbk2 = Workbooks.Open(ThisWorkbook.Path & "\Emprunter_un_outil_ou_rendre_un_outil.xlsx")

For i = 2 To 500
a = wbk2.Worksheets(1).Cells(2, 1).Value
b = wbk.Worksheets(1).Cells(i, 4).Value
If b Like a Then
wbk.Worksheets(1).Range("F" & i).Value = wbk2.Worksheets(1).Range("B2").Value
wbk.Worksheets(1).Range("G" & i).Value = wbk2.Worksheets(1).Range("C2").Value
wbk.Worksheets(1).Range("H" & i).Value = wbk2.Worksheets(1).Range("D2").Value
wbk.Worksheets(1).Range("I" & i).Value = wbk2.Worksheets(1).Range("E2").Value
wbk.Worksheets(1).Range("J" & i).Value = wbk2.Worksheets(1).Range("F2").Value
wbk.Worksheets(1).Range("K" & i).Value = wbk2.Worksheets(1).Range("G2").Value
End If
Next
Application.ScreenUpdating = True
wbk.Save
wbk2.Close
Kill (ThisWorkbook.Path & "\Emprunter_un_outil_ou_rendre_un_outil.xlsx")

If Err <> 0 Then
Exit Sub
End If

End Sub

Je n'y connais pas grand chose et j'ai essayé avec OnTime mais impossible de faire fonctionner.

Merci

Bonjour clest77,

tu peux essayer ceci :

Dim heureConnection As Date 'à mettre avant le code
Private Sub Workbook_Open()
heureConnection = Time 'variable qui récupère l'heure de connection à l'ouverture du fichier
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim temps As Date
temps = Time - heureConnection 'variable qui calcule la durée de connection à chaque changement dans une feuille
If temps > "01:00:00" Then MsgBox "Le classeur va se fermer!" 'si ta durée de connection est supérieure à 1 heure, ça affiche un message pour prévenir l'utilisateur
'Je te laisse ajouter le code pour quitter le classeur (si tu veux le sauvegarder avant, etc)
End Sub

Peux-tu m'indiquer comment l'intégrer car la j'ai essayé mais ça ne fonctionne pas :/

Voilà un fichier avec le code dedans

12exemple.xlsm (15.70 Ko)

Ton code ne fonctionne pas ou alors je sais pas m'en servir mais je change 01:00:00 en 00:00:10 pour tester mais rien ne se passe.

Bonjour, voici une autre façon de faire.

@+

13classeur1.xlsm (15.62 Ko)
clest77 a écrit :

Ton code ne fonctionne pas ou alors je sais pas m'en servir mais je change 01:00:00 en 00:00:10 pour tester mais rien ne se passe.

Il fonctionne parfaitement chez moi.

Comment tests-tu le fonctionnement ?

Est-ce que tu as un message d'erreur qui apparaît?

Il fonctionne parfaitement chez moi.

Comment tests-tu le fonctionnement ?

Est-ce que tu as un message d'erreur qui apparaît?[/quote]

J'ai ouvert ton fichier et en changeant juste le temps j'ai sauvegardé et attendu de voir ce que ca fait mais rien du tous

clest77 a écrit :

J'ai ouvert ton fichier et en changeant juste le temps j'ai sauvegardé et attendu de voir ce que ca fait mais rien du tous

Dans ce cas c'est normal, le code n'est lu que lorsqu'il y a une modification.

Le classeur se fermera donc si quelqu'un tente de le modifier après un délai de 1heure.

Pour tester tu n'as qu'a mettre 00:00:10 puis tente de modifier le classeur (en entrant une valeur dans une cellule au hasard).

Si le code fonctionne tu auras une boite de dialogue avec un "!" qui apparaîtra.

Tu n'as qu'a remplacer le code de la msgbox par ton code qui ferme l'application.

Rechercher des sujets similaires à "fermeture planifie"