Problème d'affichage de date avec macro

chris6999

XLDnaute Impliqué
Je fais un copier coller de mon premier message qui n'apparaît plus dans la liste...

Bonjour,

J'ai un petit souci avec une macro sensée enregistrer le temps passé au téléphone.
On clique sur un bouton pour activer le compte à rebour puis sur un autre pour le stopper.
Un autre bouton permet d'enregistrer les éventuelles erreurs de manip.

Bref tout va bien quand je me positionne sur la date du 12/11 comme aujourd'hui.
Cela donne par exemple 12/11/08 18:30:15

Parcontre si je modifie la date du PC en décembre ou janvier là rien ne va plus.
L'affichage de la date change et cela donne
12/jan/08 ou 12/dec/08
donc du coup la macro ne parvient plus à calculer le temps passé entre les deux bornes et ça bugue...

Je ne suis pas spécialiste des macro et je ne vois pas du tout d'où cela pourrait venir

Ci-dessous la macro car je ne parviens pas à joindre mon fichier (pour arriver à rentrer dans 48ko je ne sais pas comment on s'y prend!)
Il va de soi que j'ai essayé de compresser mon fichier en le zippant!

***************************
' * Gestion du temps (S.C.) *
' ***************************
Option Explicit
Dim derligne As Integer
Dim TEMPS



Sub zero()
'Dim derligne As Integer
With Sheets(1)
derligne = .Range("C65000").End(xlUp).Row + 1
If .Range("B" & derligne).Value = "" Then
.Unprotect
.Range("B" & derligne).Value = Format(Date & " " & Time, "dd/mmm/yyyy hh:mm:ss")
.Range("e" & derligne).Value = Format(Date & " " & Time, "mmmm yyyy")
.Protect
End If
End With
End Sub

Sub fin()
'Dim derligne As Integer
With Sheets(1)
derligne = .Range("D65000").End(xlUp).Row + 1
If .Range("B" & derligne).Value <> "" Then
.Unprotect
.Range("C" & derligne).Value = Format(Date & " " & Time, "dd/mmm/yyyy hh:mm:ss")
.Range("D" & derligne).Value = Format(Range("C" & derligne).Value - Range("B" & derligne).Value, "hh:mm:ss") 'Format((Time - Range("B" & derligne).Value), "hh:mm:ss")
.Protect
End If
End With
End Sub

Sub erreur()
With Sheets(1)
If .Range("B" & derligne).Value <> "" Then
.Unprotect
.Range("E" & derligne).Value = "ERREUR"
fin
.Protect
End If
End With
End Sub


J'espère que vous pourrez m'aider...
 

jeanpierre

Nous a quitté
Repose en paix
Re : Problème d'affichage de date avec macro

Re chris,

Ce n'est pas top de recréer un nouveau message....

Ton premier message est ici : http://www.excel-downloads.com/forum/107230-probl-me-daffichage-de-date-avec-macro.html

Pour le faire remonter, il te suffit de mettre un nouveau post dessus.

Par ailleurs, as-tu réussi à zipper ton fichier avec la méthode que je t'ai indiquée ?

Pour finir, ce message sera lu, même s'il est en 2ème ou 3ème page, très visible avec l'indicateur des messages non lus.

Bonne soirée.

Jean-Pierre
 

alex67800

XLDnaute Impliqué
Re : Problème d'affichage de date avec macro

Je fais un copier coller de mon premier message qui n'apparaît plus dans la liste...

Bonjour,

J'ai un petit souci avec une macro sensée enregistrer le temps passé au téléphone.
On clique sur un bouton pour activer le compte à rebour puis sur un autre pour le stopper.
Un autre bouton permet d'enregistrer les éventuelles erreurs de manip.

Bref tout va bien quand je me positionne sur la date du 12/11 comme aujourd'hui.
Cela donne par exemple 12/11/08 18:30:15

Parcontre si je modifie la date du PC en décembre ou janvier là rien ne va plus.
L'affichage de la date change et cela donne
12/jan/08 ou 12/dec/08
donc du coup la macro ne parvient plus à calculer le temps passé entre les deux bornes et ça bugue...

Je ne suis pas spécialiste des macro et je ne vois pas du tout d'où cela pourrait venir

Ci-dessous la macro car je ne parviens pas à joindre mon fichier (pour arriver à rentrer dans 48ko je ne sais pas comment on s'y prend!)
Il va de soi que j'ai essayé de compresser mon fichier en le zippant!

***************************
' * Gestion du temps (S.C.) *
' ***************************
Option Explicit
Dim derligne As Integer
Dim TEMPS



Sub zero()
'Dim derligne As Integer
With Sheets(1)
derligne = .Range("C65000").End(xlUp).Row + 1
If .Range("B" & derligne).Value = "" Then
.Unprotect
.Range("B" & derligne).Value = Format(Date & " " & Time, "dd/mmm/yyyy hh:mm:ss")
.Range("e" & derligne).Value = Format(Date & " " & Time, "mmmm yyyy")
.Protect
End If
End With
End Sub

Sub fin()
'Dim derligne As Integer
With Sheets(1)
derligne = .Range("D65000").End(xlUp).Row + 1
If .Range("B" & derligne).Value <> "" Then
.Unprotect
.Range("C" & derligne).Value = Format(Date & " " & Time, "dd/mmm/yyyy hh:mm:ss")
.Range("D" & derligne).Value = Format(Range("C" & derligne).Value - Range("B" & derligne).Value, "hh:mm:ss") 'Format((Time - Range("B" & derligne).Value), "hh:mm:ss")
.Protect
End If
End With
End Sub

Sub erreur()
With Sheets(1)
If .Range("B" & derligne).Value <> "" Then
.Unprotect
.Range("E" & derligne).Value = "ERREUR"
fin
.Protect
End If
End With
End Sub


J'espère que vous pourrez m'aider...

Bonjour ne serait-ce pas simplement dans les format de date dans ton code?

Une fois "mmm = mois en abrégé
une fois "mmm"= mois en entier

par contre "mm" = mois numérique.
Peut-être en forcant le format de ta colonne c et d en format nombre: date jj/mm/aaaa hh/mm/ss

A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 047
Messages
2 084 858
Membres
102 688
dernier inscrit
Biquet78