Figer une heure dans une cellule

Résolu
db06 Messages postés 37 Statut Membre -  
 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.

14 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

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

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

      Cordialement.
      0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  3. db06 Messages postés 37 Statut Membre
     
    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
    1. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      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
  4. db06 Messages postés 37 Statut Membre
     
    As tu une proposition de macro pour réaliser cette fonction et peux tu m'expliquer comment l'installer.
    cordialement
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. db06 Messages postés 37 Statut Membre
     
    bonjour,
    y-a-t-il quelqu'un pour trouver une réponse à mon problème ?
    Merci ....
    0
  7. db06 Messages postés 37 Statut Membre
     
    Merci de ton aide mike 31
    je test et je te tiens au courant
    cordialement
    0
  8. db06 Messages postés 37 Statut Membre
     
    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
  9. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  10. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  11. db06 Messages postés 37 Statut Membre
     
    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
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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
    2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      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
  12. db06 Messages postés 37 Statut Membre
     
    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
  13. db06 Messages postés 37 Statut Membre
     
    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
  14. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
    1. 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
  15. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
    1. sam
       
      Bonjour

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