Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

fermer classeur excel un jour précis

  • Initiateur de la discussion Initiateur de la discussion ychc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ychc

XLDnaute Occasionnel
Bonjour à tous,

Je cherche depuis quelques temps un code qui me permettrais de fermer par
exemple un classeur tous les samedi à 12:00.

Je suis sur un bout de code que j'ai pu trouver ici et là, que je ne maîtrise pas beaucoup, mais je pense être sur le bon chemin.

Peut être que je me trompe complètement.

J'ai mis dans le workbook:

Code:
Private Sub Workbook_Open()

Dim heures
heures = Array("12:00:00")

Application.OnTime EarliestTime:=TimeValue(heures(WeekdayName(Date, 2) - 1)), Procedure:="ferme"
End Sub

Et ca dans le module:
Code:
Public Sub ferme()
Application.Save
Application.Quit
End Sub

Si quelqu'un peut me mettre sur le bon chemin.

Merci
 
Re : fermer classeur excel un jour précis

Bonjour ychc,

Code:
Private Sub Workbook_Open()
Dim myjour As Date
'si c'est samedi on ajoute 7 jours
If Weekday(Date) = 7 Then
myjour = CDate(Date + 7 & " 12:00:00")
GoTo fin
End If


'si pas samedi on ajoute
jourenplus = 7 - Weekday(Date)
myjour = Date + jourenplus
myjour = CDate(myjour & " 12:00:00")
fin:
Application.OnTime myjour, "ferme"
End Sub

Bruno
 
Re : fermer classeur excel un jour précis

Bonsoir Youky,

Et merci de t’intéresser à mon problème.
Bon voilà, j'ai bien essayer de comprendre, mais pas moyen de faire fonctionner le code pour aujourd'hui lundi.

Si j'ai comprend bien le "If Weekday(Date) = 7 Then" c'est quand le 1er jour de la semaine est le dimanche.

Ensuite si je veux faire le test pour aujourd'hui lundi, je dois passer au deuxième bloc de ton code.
Et c'est là que je coince, si pas samedi on ajoute...1 pour passer du dimanche au lundi?

Voici mon exemple et si tu as le temps de m'aider je te remercie d'avance.

Bonne soirée à tous.
 

Pièces jointes

Re : fermer classeur excel un jour précis

Re:
explications
weekday(date) =7 'c'est que c'est un samedi
le dimanche c'est 1
le lundi c'est 2 et hop le samedi c'est 7
donc dans ma macro si on ouvre sur un jour 7 c'est un samedi, j'ajoute 7 jours + l'heure et on va à.... fin:
si c'est pas un samedi comme aujourd'hui lundi weekday renvoie 2 donc je calcul 7 -2= 5
Je rappel nous sommes lundi 01/02/16 et cette date + 5 = le 06/02 c'est bien samedi prochain
La macro peut fonctionner telle quelle comme je te l'ai donnée.
Bruno
 
Re : fermer classeur excel un jour précis

Bonjour Bruno,

Merci pour les explications très claires de ton code.

Hier, je ne comprenais pas le " si pas samedi", je pensais que tu voulais dire par là
de modifier la fermeture un autre jour que le samedi.

Aujourd'hui, j'ai réussi à tester le code avec une fermeture ce mercredi.

Merci pour ta patience et bonne journée à tous.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
431
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…