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

XL 2021 Quel code permettrait de refermer mon classeur si la date (les 10 derniers caractères du nom du classeur) ne correspondent pas à la date du jour ?

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir à toutes et à tous

Je cherche un code (que je n'arrive pas à élaborer)

Ma question est dans le titre du fil :
Quel code permettrait de refermer mon classeur si la date (les 10 derniers caractères du nom du classeur) ne correspondent pas à la date du jour ?
Par exemple :
aujourd'hui nous sommes le 04 06 2023 et en inversé ça donne 2023 06 04
Par exemple, le classeur de Raissa n'est pas à la date du jour
isiTel_Raissa Dr House 2023 06 05 (correspond aux 10 derniers caractères (espaces inclus))

Je cherche donc le code à mettre dans le classeur Excel s'exécutant à l'ouverture.
Qui refermerait "direct" le classeur avec un p'tit msgbox du genre : c'est pas la date du jour.

Auriez-vous le bon code ?
Merci à toutes et à tous,
Je continue mes recherches.....
 
Solution
Bonjour le fil

@Usine à gaz
Je te laisse finir la macro, car c'est l'heure de mon souper
VB:
Sub test()
Dim vdate$, a$
vdate = Format(Date, "yyyy mm dd")
a = Trim(Right(Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 5), 10))
vdate = Trim(Format(Date, "yyyy mm dd"))
MsgBox a = vdate
End Sub
Lors de mon test, la MsgBox affichait vrai

Staple1600

XLDnaute Barbatruc
Bonjour le fil

@Usine à gaz
Je te laisse finir la macro, car c'est l'heure de mon souper
VB:
Sub test()
Dim vdate$, a$
vdate = Format(Date, "yyyy mm dd")
a = Trim(Right(Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 5), 10))
vdate = Trim(Format(Date, "yyyy mm dd"))
MsgBox a = vdate
End Sub
Lors de mon test, la MsgBox affichait vrai
 

Staple1600

XLDnaute Barbatruc
Re

@Usine à gaz
Au bout de 7074 messages sur XLD, tu ne peux que t'en sortir.
Il suffit de mouiller le maillot

If..End if
et tutti quanti

D'autant plus que tu as des bouts de code prêt à l'emploi dans tes discussions de cette semaine.

Bon, je retourne à table, sinon je vais manger froid.
 

patricktoulon

XLDnaute Barbatruc
re
bonjour à tous
juste en passant
VB:
Private Sub Workbook_Open()
Dim Nom$
Nom = ThisWorkbook.Name
If Right(Trim(Mid(Nom, 1, InStrRev(Nom, ".") - 1)), 10) <> Format(Date, "yyyy mm dd") Then ThisWorkbook.Close
End Sub
 

job75

XLDnaute Barbatruc
Bonjour Lionel, JM, Patrick,
VB:
Private Sub Workbook_Open()
If InStr(Me.Name, Format(Date, "yyyy mm dd") & ".xl") = 0 Then If Workbooks.Count = 1 Then Application.Quit Else Me.Close
End Sub
A+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…