Microsoft 365 Minuteur avec fermetur automatique du classeue EXCEL

kid

XLDnaute Nouveau
Bonjour à tous,

J'ai un classeur EXCEL avec un compteur.
Mon objectif serait, une fois le temps écoulé, de répondre automatiquement à la boite de dialogue EXCEL:
- Enregistrer le travail
- Fermer le classeur

Si quelqu'un a une idée.
Je vous joins le fichier.
Merci pour votre aide
 

Pièces jointes

  • Classeur1.xlsm
    21.3 KB · Affichages: 29

kid

XLDnaute Nouveau
Bonjour à tous,

Je reviens vers vous pour solliciter votre aide.
J'ai un classeur EXCEL (Classeur1.xlsm) avec une temporisation dans lequel un bouton permet l'ouverture d'un autre classeur(Classeur2.xlsx).
Lorsque je clique sur le bouton, une erreur d'exécution apparait.
Je ne trouve pas de solution.
Si quelqu'un a une idée.
Encore merci à vous tous.
Kid
 

Pièces jointes

  • Classeur1.xlsm
    33.4 KB · Affichages: 5

job75

XLDnaute Barbatruc
Bonjour kid, le forum,

La macro de temporisation (lancée par la Workbook_Open) :
VB:
Sub Chrono()
Dim i%, t
With Feuil1
    .Activate
    For i = 30 To 0 Step -1
        t = Timer + 1
        While Timer < t And t < 86400: DoEvents: Wend
        .[B2] = "00:00:" & i
    Next
    MsgBox "Le fichier '" & .Parent.Name & "' va être fermé..."
    .Parent.Saved = True 'évite l'invite à la fermeture
    If Workbooks.Count = 1 Then Application.Quit Else .Parent.Close
End With
End Sub
La macro du bouton :
VB:
Private Sub CommandButton1_Click()
Dim fichier$
fichier = ThisWorkbook.Path & "\Classeur2.xlsx" 'à adapter
If Dir(fichier) = "" Then MsgBox "'" & fichier & "' introuvable !" _
    Else Workbooks.Open(fichier).ShowPivotTableFieldList = False
End Sub
Téléchargez les 2 fichiers joints dans le même dossier (le bureau).

A+
 

Pièces jointes

  • Classeur1.xlsm
    22.8 KB · Affichages: 6
  • Classeur2.xlsx
    12.4 KB · Affichages: 4

kid

XLDnaute Nouveau
Bonjour kid, le forum,

La macro de temporisation (lancée par la Workbook_Open) :
VB:
Sub Chrono()
Dim i%, t
With Feuil1
    .Activate
    For i = 30 To 0 Step -1
        t = Timer + 1
        While Timer < t And t < 86400: DoEvents: Wend
        .[B2] = "00:00:" & i
    Next
    MsgBox "Le fichier '" & .Parent.Name & "' va être fermé..."
    .Parent.Saved = True 'évite l'invite à la fermeture
    If Workbooks.Count = 1 Then Application.Quit Else .Parent.Close
End With
End Sub
La macro du bouton :
VB:
Private Sub CommandButton1_Click()
Dim fichier$
fichier = ThisWorkbook.Path & "\Classeur2.xlsx" 'à adapter
If Dir(fichier) = "" Then MsgBox "'" & fichier & "' introuvable !" _
    Else Workbooks.Open(fichier).ShowPivotTableFieldList = False
End Sub
Téléchargez les 2 fichiers joints dans le même dossier (le bureau).

A+
UN TRES GRAND MERCI à toi Job75. Merci pour ton aide. Au top:)
 

job75

XLDnaute Barbatruc
On remarquera que si l'on ouvre le fichier Classeur2.xlsx puis le ferme la macro Chrono s'arrête.

Ce phénomène se produit d'ailleurs si l'on ouvre et ferme un fichier Excel quelconque.

Si l'on veut relancer la macro il suffit de remplacer la Workbook_Open par une Workbook_Activate.
 

Pièces jointes

  • Classeur1(2).xlsm
    22.9 KB · Affichages: 10
  • Classeur2.xlsx
    12.4 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 330
Membres
102 862
dernier inscrit
Emma35400