Private Sub Workbook_Open()
Sheets("Feuil1").OLEObjects("essai").Visible = Timer / 3600 < 5 Or Timer / 3600 > 12
Application.OnTime 5 / 24, ThisWorkbook.CodeName & ".Maqsque"
Application.OnTime 12 / 24, ThisWorkbook.CodeName & ".Affiche"
Me.Saved = True 'évite l'invite à la fermeture si aucune modification
End Sub
Sub Masque()
Sheets("Feuil1").OLEObjects("essai").Visible = False
End Sub
Sub Affiche()
Sheets("Feuil1").OLEObjects("essai").Visible = True
End Sub
Private Sub essai_Click()
Calculate 'MAJ date/heure
Sheets("Feuil2").Cells(4, Columns.Count).End(xlToLeft)(1, 2) = Sheets("Feuil1").Cells(1)
End Sub
merciBonjour christ97434, fanfan38,
Le code dans ThisWorkbook :
Les Application.OnTime se déclenchent 2 fois par jour.VB:Private Sub Workbook_Open() Sheets("Feuil1").OLEObjects("essai").Visible = Timer / 3600 < 5 Or Timer / 3600 > 12 Application.OnTime 5 / 24, ThisWorkbook.CodeName & ".Maqsque" Application.OnTime 12 / 24, ThisWorkbook.CodeName & ".Affiche" [QUOTE="fanfan38, post: 20525021, member: 10774"] Bonjour Ci joint ma solution A+ François [/QUOTE] Me.Saved = True 'évite l'invite à la fermeture si aucune modification End Sub Sub Masque() Sheets("Feuil1").OLEObjects("essai").Visible = False End Sub Sub Affiche() Sheets("Feuil1").OLEObjects("essai").Visible = True End Sub
Dans Feuil1 :
Edit : ajouté Me.Saved = TrueVB:Private Sub essai_Click() Calculate 'MAJ date/heure Sheets("Feuil2").Cells(4, Columns.Count).End(xlToLeft)(1, 2) = Sheets("Feuil1").Cells(1) End Sub
A+