Tit problème avec une macro Date/heure

sebkil28

XLDnaute Nouveau
Tit problème avec une macro Date/heure [résolu]

Bonjour à tous !

Voilà, je me suis fait une macro pour que lorsque je fais une modification sur une des feuilles du classeur, une date + heure de mise à jour ce mette dans une cellule d'une feuille précise.

Pour la date c'est OK, mais pour l'heure, elle ne se met pas à jour et reste à 00:00 :(

Voici mon code:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
' date MAJ
' Macro par duse1002
'

' controle le nom fichier
If ActiveWorkbook.Name <> "Derogation_V0.4.2.xls" Then
Exit Sub
End If
Sheets("Projet").Unprotect ""
'Désactive l'évènement pour évité une boucle sans fin
Application.EnableEvents = False
Sheets("Projet").Range("A35").Value = "Updating : " & Format(Date, "dd/mm/yyyy hh:mm")
'Réactive l'évènement
Application.EnableEvents = True
Sheets("Projet").Protect "", True, True, True
End Sub


Merci d'avance pour votre aide.
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Tit problème avec une macro Date/heure

Bonjour à tous,

Peux-tu essayer en remplaçant Date par Now ?

A+ à tous

Edition : Fais un test pour voir la différence

Code:
Sub Test()
MsgBox Format(Date, "dd/mm/yyyy hh:mm")
MsgBox Format(Now, "dd/mm/yyyy hh:mm")
End Sub
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : Tit problème avec une macro Date/heure

Bonjour à tous,

Super merci !!!

C'était pourtant si simple que j'y ai pas pensé ....

Je ne sais pas comment je dois le prendre Arf Arf :)

Je n'avais pas vu que c'était ton premier message :
Bienvenue sur XLD :)

Pense à utiliser les balises BB lors d'un prochain message :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
' date MAJ
' Macro par duse1002
'

' controle le nom fichier
If ActiveWorkbook.Name <> "Derogation_V0.4.2.xls" Then
Exit Sub
End If
Sheets("Projet").Unprotect ""
'Désactive l'évènement pour évité une boucle sans fin
Application.EnableEvents = False
Sheets("Projet").Range("A35").Value = "Updating : " & Format(Date, "dd/mm/yyyy hh:mm")
'Réactive l'évènement
Application.EnableEvents = True
Sheets("Projet").Protect "", True, True, True
End Sub

devient :

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
' date MAJ
' Macro par duse1002
'

' controle le nom fichier
    If ActiveWorkbook.Name <> "Derogation_V0.4.2.xls" Then
    Exit Sub
    End If
        Sheets("Projet").Unprotect ""
'Désactive l'évènement pour évité une boucle sans fin
        Application.EnableEvents = False
        Sheets("Projet").Range("A35").Value = "Updating : " & Format(Date, "dd/mm/yyyy hh:mm")
'Réactive l'évènement
        Application.EnableEvents = True
        Sheets("Projet").Protect "", True, True, True
End Sub
A+ à tous
 

JCGL

XLDnaute Barbatruc
Re : Tit problème avec une macro Date/heure

Bonjour à tous,

Par Format / Cellule Nombre et Personnalisé :
Code:
jj/mm/aaaa hh:mm

Si tu souhaites avoir le jour en abrégé
Code:
jjj jj/mm/aaaa hh:mm

Si tu souhaites avoir le jour long :
Code:
jjjj jj/mm/aaaa hh:mm

Si tu souhaites avoir le jour long mais les noms bien alignés:
Code:
jjjj * jj/mm/aaaa hh:mm

A+ à tous
 

NCM

XLDnaute Nouveau
Re : Tit problème avec une macro Date/heure

ok merci pour ces info.

En fait je suis en train de chercher une solution pour pouvoir afficher la date et l'heure dans une cellule A1 en fonction d'une autre cellule A2.

Je voudrai que dès qu'il y a un modification dans la cellule A2 ( Texte qui change ) une mise à jour se fait sur la cellule A1 en insérant la date et l'heure de la modification.

Pouvez vous m'aider à réaliser cela?

Merci.
 

NCM

XLDnaute Nouveau
Re : Tit problème avec une macro Date/heure

Bonjour,

Merci pour ce fichier, il marche trés bien. Juste deux remarques:

1 - Depuis l'insertion de cette macro, lorsque je change une valeur dans mon fichier, je ne peut plus utiliser la commande "Annuler effacer" pour faire un retour en arrière si erreur. Comment je peut faire pour que cette commande redevienne opérationelle?

2 - Cette macro prend bien en compte les modifications manuelles apportées au fichier, mais elle ne prend pas en compte les cellules qui change automatiquement suite à des formules. Comment je peut faire pour que même les cellules dont la valeur change suite à une formule puisse être indiquée?
 

NCM

XLDnaute Nouveau
Re : Tit problème avec une macro Date/heure

Pour affecter cette fonction à une feuille, j'ai trouver la solution avec le code suivant:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ThisWorkbook.Worksheets.Application.ActiveSheet.Name = "Regroup info" Then
If Sh.Name <> "Suivi Modifications" Then
Application.EnableEvents = False
temp = Application.CountA(Sheets("Suivi Modifications").Range("a:a")) + 1
Sheets("Suivi Modifications").Cells(temp, 1) = Sh.Name
Sheets("Suivi Modifications").Cells(temp, 2) = Target.Address
Sheets("Suivi Modifications").Cells(temp, 3) = Now
Sheets("Suivi Modifications").Cells(temp, 4) = [mémo]
Sheets("Suivi Modifications").Cells(temp, 5) = Target
Sheets("Suivi Modifications").Cells(temp, 6) = Environ("username")
Application.EnableEvents = True
End If
End If
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count = 1 Then
ActiveWorkbook.Names.Add Name:="mémo", RefersToR1C1:="=" & Chr(34) & Target.Value & Chr(34)
End If
End Sub

Par contre j'ai toujours un souci avec le retour en arrière.
 

Discussions similaires