Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Heures négatives

4 réponses
Avatar
jaloulou
Bonjour à tous,

J'ai créé un fichier qui calcule des heures et assez souvent elles sont
négatives.
Or pour pouvoir travailler avec ces heures négatives, il a fallut indexer
"calendrier depuis 1904"
Ce fichier a été dupliqué et fonctionne sur deux postes différents. Le
problème est que si on ne désactive pas cette option, les autres fichiers
bâtis sous Excel "calculent mal".
Avec l'enregistreur de Macro j'ai créé une Macro pour activer C1904 et une
autre pour désactiver C1904.
QUESTION : Je ne sais pas comment faire ni où les mettre pour "activer
C1904" à l'ouverture du fichier et pour désactiver C1904 à la fermeture.
Pouvez-vous me conseiller ?


Sub OuvertureC1904

Application.MaxChange = 0.001
With ActiveWorkbook
.PrecisionAsDisplayed = False
.Date1904 = True
End With
End Sub

Sub FermetureC1904
Application.MaxChange = 0.001
With ActiveWorkbook
.PrecisionAsDisplayed = False
.Date1904 = False
End With
End Sub

4 réponses

Avatar
FFO
Salut à toi

Dans le ThisWorkbook (Alt+F11 dans fenêtre de gauche) tu mets ainsi :

Private Sub Workbook_Open()
Application.MaxChange = 0.001
With ActiveWorkbook
.PrecisionAsDisplayed = False
.Date1904 = True
End With
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.MaxChange = 0.001
With ActiveWorkbook
.PrecisionAsDisplayed = False
.Date1904 = False
End With
End Sub

Celà devrait faire
Dis moi !!!!!!
Avatar
jaloulou
Ca fait tout bien comme il faut.
Donc il existait bien une détection par Excel d'une ouverture et fermeture
de fichier "Wookbook_Open()" et "workbook_BeforeClose()". Pourquoi tu as mis
entre parenthèse (Cancel as Boolean) ?


"FFO" a écrit dans le message de news:

Salut à toi

Dans le ThisWorkbook (Alt+F11 dans fenêtre de gauche) tu mets ainsi :

Private Sub Workbook_Open()
Application.MaxChange = 0.001
With ActiveWorkbook
.PrecisionAsDisplayed = False
.Date1904 = True
End With
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.MaxChange = 0.001
With ActiveWorkbook
.PrecisionAsDisplayed = False
.Date1904 = False
End With
End Sub

Celà devrait faire
Dis moi !!!!!!



Avatar
FFO
Rebonjour à toi

heureux que celà te satisfasse
Pour les explications sélectionnes "BeforeClose" et actives la touche F1
pour obtenir l'aide en ligne
Tu trouveras les réponses appropriées
Avatar
MichDenis
A ) J'aurais apprécié si toi ou le demandeur aviez précisé votre pensée
sur les circonstances qui nécessitent une telle approche.

B ) supposons qu'elle soit nécessaire, comment à partir des 2 événements
retenus arrivez-vous à gérer la chose lorsqu'il y a plus d'un classeur ouvert ?

Disons que la chose suscite ma curiosité !