Figer une heure dans une cellule

Résolu
db06 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -  
 sam -
Bonjour,
Dans le tableau que je prépare, je souhaite qu'à chaque fois que je valide une case, l'heure réelle (de l'ordi) s'affiche dans la cellule d'à coté. Le problème en utilisant la fonction maintenant(), c'est que toutes les heures précédentes sont modifiées et égales à la dernière valeur. Avez-vous une solution "simple" sans passer par une macro.
Merciiiiiiiiiiii.




A voir également:

14 réponses

Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Salut,

Manuellement
Clic sur la touche Ctrl et en même temps touche point virgule
1
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Bonjour,

la touche point virgule donne la date, la touche deux points donne l'heure.

Cordialement.
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

On va faire simple exemple si tu saisis une valeur colonne A entre A1 et dans mon exemple A50
et tu souhaites que la date s'affiche en colonne B sur la même ligne

clic droit sur l'onglet de feuille concernée/Visualiser le code
colle le code ci-dessous dans la feuille blanche qui s'ouvre
revient sur ta feuille de calcul en cliquant sur le signe l'outil Excel dans la barre d'outil

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A50")) Is Nothing Then
Target.Offset(0, 1) = Date
End If
End Sub
1
db06 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Merci "Mike-31" et "chossette9",
en fait je veux que l'affichage de l'heure soit automatique.
Avec une formule du style: =si(esttexte(F2);...........?
Merci de votre concours.
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Si tu veux que l'affichage soit automatique, dans ce cas là il te faudra une macro, je ne vois pas comment faire autrement.

Cordialement.
0
db06 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
As tu une proposition de macro pour réaliser cette fonction et peux tu m'expliquer comment l'installer.
cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
db06 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,
y-a-t-il quelqu'un pour trouver une réponse à mon problème ?
Merci ....
0
db06 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de ton aide mike 31
je test et je te tiens au courant
cordialement
0
db06 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
merci de ton aide,
la solution que tu me proposes ne marche pas. Pour que la date s'affiche dans la cellule B, il faut cliquer dessus et je n'ai pas l'heure...
Merci d'avoir essayer, je ne pensais pas que cela pouvait être si compliqué.
cordialement
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

Non la solution est là, explique seulement ton problème

Tu veux quoi la date, l'heure ou la date et l'heure !

ensuite dans quelle colonne !

et à partir de quelle action en saisissant une données dans une cellule !

et dans quelle plage exemple A1 à A500 !
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

La macro de mike marche très bien, il faut saisir qcq chose en A pour que la date s'affiche en B.
Si tu veux l'heure remplace =Date par =Time
http://www.cijoint.fr/cjlink.php?file=cj201105/cijwtifPhS.xls

eric
0
db06 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Après reessai sur une page vierge , c'est OK tout baigne. J'ai remplacé Date par Time et j'ai l'heure dans le format voulu.
Mais dans la feuille de mon fichier, j'ai des cellules avec liste déroulante sur C7 ....C11 et l'heure doit s'afficher en D7 ...D11.
Dans ton programme j'ai remplacé "Range("A1:A50")) " par "Range("C7:C11"))", mais l'heure ne s'affiche pas.
Guide moi encore un peu .....
cordialement
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Tout dépend ce que tu appelles une liste déroulante.
Certains objets peuvent de pas générer d'évènement change.
Il faudrait un exemple de ton fichier.
cijoint.fr et coller ici le lien fourni
erice
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re, salut Eriiic,

Oui tout a fait mais avec une liste de validation de données il ne devrait pas y avoir de problème
et pour compléter l'affichage, il est possible d'afficher la date, l'heure ou les deux avec Now

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C7:C11")) Is Nothing Then
Target.Offset(0, 1) = Now
End If
End Sub

cordialement
Mike-31
0
db06 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Salut Mike31,
Toujour pareil, sur une feuille vierge ça va, mais sur mon fichier ça bloque.
Est il possible que je te joigne mon fichier pour voir ce qui ne va pas.
Bien cordialement
0
db06 Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Tel le débutant moyen je viens de me rendre compte que tout fonctionne au poil, en fermant puis réouvrant le fichier la macro a du s'enregistrer.....
Puis-je recopier autant de fois la macro en changeant les coordonnées des cellules, pour les différents tableaux de ma feuille ?
Merci pour toute ta compétence et ta bienveillance.
Bien cordialement
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

Si le code est destiné à une feuille, il est impossible d'utiliser la même syntaxe pour la même feuille
Private Sub Worksheet_Change(ByVal Target As Range)
il faut simplement compléter le code.
on pourrait écrire le code différemment, mais pour faire simple, et suivre facilement l'action je te conseille à tes débuts d'écrire le code par ligne
cette ligne saisie la date et l'heure en D7;D11 si tu saisis une valeur en C7:C11
If Not Intersect(Target, Range("C7:C11")) Is Nothing Then Target.Offset(0, 1) = Now
cette ligne saisie l'heure en H1:H10 lorsque tu saisis une valeur en F1:F10 (saute une colonne)
A toi d'essayer de l'adapter et éventuellement d'ajouter des lignes

exemple de code à coller dans les propriété de la feuille
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C7:C11")) Is Nothing Then Target.Offset(0, 1) = Now
If Not Intersect(Target, Range("F1:F10")) Is Nothing Then Target.Offset(0, 2) = Time
End Sub
0
sam
 
Bonjour,

J'ai essayé la macro ci dessus, ça fontionne super bien!!
j'ai cependant une question : dans ma macro j'ai écrit If Not Intersect(Target, Range("F1:F10")) Is Nothing Then Target.Offset(0,0) = Time
ce qui me permet de voir apparaître l'heure dans ma cellule de saisie
Mais si je souhaite effacer la saisie comment faire?
Quoique je tape l'heure s'affiche
N'y a t'il pas une macro qui permet de dire par exemple: si je clique sur suppr alors la cellule redevient vide ?
Merci de ton aide
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

essaye comme cela

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("F1:F10")) Is Nothing Then
If Target <> "" Then Target.Offset(0, 0) = Time
End If
End Sub
0
sam
 
Bonjour

Merci beaucoup ça marche super bien !!!
Au top Mike 31
0