Date et heure automatique saisie cellule Excel

Résolu
Bonjour,

Je souhaite obtenir de l'aide pour mettre en place si cela est possible un système permettant d'indiquer l'heure et la date automatiquement lorsque je saisi des données dans une cellule.

Par exemple, j'écris "100" dans ma cellule A1 et je souhaite que dans ma cellule B1 il soit affiché automatiquement "20h34 - 15/02/2013" ce qui correspond en fait au format suivant : "hh mm dd mm yyyy".

Cordialement,
CharlesDB

10 réponses

  1. Salut,

    Tu aurais aussi vite fait de faire un simple clic sur deux touches Ctrl et point virgule

    avec la fonction Maintenent la date changera tous les jours et avec un code VBA le fait de changer la donnée en A entrainera automatiquement le changement de la date en B
    si c'est que tu cherches, clic droit sur l'onglet de ta feuille et colle ce code

    Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Not Intersect(Target, [A1:A100]) Is Nothing Then
    Target(1, 2) = Now
    End If
    End Sub

    si le code se limite à cette simple saisie tu peux écourter le code comme ceci

    Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Not Intersect(Target, [A1:A100]) Is Nothing Then Target(1, 2) = Now
    End Sub

    il est possible de figer la date en B pour éviter tout changement après postérieur et obliger la modification manuelle mais on verra plus tard
    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    6
    1. Bonjour Tout le monde
      Grace au code de Mike-31 j'ai pu résoudre la moitié de mon problème, cependant j'aimerais bien que le résultat soit figé

      Merci d'avance à vous tous
      Très bonne journée
      0
    2. Bonjour,

      Que veux tu dire par "cependant j'aimerais bien que le résultat soit figé "
      Cordialement
      Mike-31
      0
    3. bonjour
      M. mike-31 je tiens a vous remercie pour le code ... je veux savoir si je peux figé le résultat par exp : quand je fais entré une valeur dans A1 j'aurai "13/08/2014 09:56:17 " dans B1 , si après une heurs je ferai des modifications dans la cellule A1 la cellule B1 reçoit "13/08/2014 10:56:17 " alors que moi je veux gardé la 1ère date ... mercii
      0
    4. Salut Khoulasai,

      je découvre ta demande en rentrant de vacance, essaye ce code

      Private Sub Worksheet_Change(ByVal Target As Range)
      On Error Resume Next
      If Not Intersect(Target, [A1:A100]) Is Nothing Then
      If Target(1, 2) = "" Then Target(1, 2) = Now
      End If
      End Sub
      0
    5. @Mike-31salut Mike-31 j'ai le même problème mais je sais pas comment m'y prendre pour l'exécuter dans la cellule Excel comment faire?
      0
  2. Contributeur
    Salut.

    La fonction MAINTENANT() affiche la date et l'heure instantanées, mais se met à jour (et à l'heure) chaque fois qu'on fait la moindre modification dans le fichier ...
    La formule est =SI(A1="";"";MAINTENANT()) mais il faudrait faire un Copier/Collage spécial/Valeur pour fixer le résultat, ce qui devient vite fastidieux.

    Mais ne désespère pas ; je suis à peu près certain qu'un autre habitué du forum te donnera bientôt la bonne méthode.

    Cordialement.

    C'est bien, la retraite ! Surtout aux Antilles ... :-)
    ☻ Raymond ♂
    2
    1. Tout d'abord merci à tous pour vos réponses, ça me fait plaisir de voir que des personnes soient intéressés et m'aident pour parvenir à faire face à ce problème.

      J'ai choisi le premier code de Mike-31 qui est le suivant :
      Private Sub Worksheet_Change(ByVal Target As Range) 
      On Error Resume Next 
      If Not Intersect(Target, [A1:A100]) Is Nothing Then 
      Target(1, 2) = Now 
      End If 
      End Sub 
      


      J'ai fait plusieurs essais et j'ai trouvé que c'était celui qui me convenait le mieux.

      Un grand merci à vous encore, et je vous recontacte en cas de besoin !

      Cordialement,
      CharlesDB
      1
      1. Bonjour,

        Je me permets de vous contacter car j'ai un petit souci avec un calcul de date.

        En cellule B16 : 10/10/2013
        En cellule C16 : 10/10/2013
        J'ai comme formule : =somme(C16-B16)

        Avec cette formule, le résultat est 0 alors que la personne a été de passage durant ce jour là en notre établissement.
        Comment dois-je faire ou quelle formule dois-je employer pour que le résultat soit 1 et pas 0

        Par contre avec la formule =somme(C16-B16+1), le résultat est 1 évidemment mais lorsque mes cellules B16 et C16 sont vides, le résultat indiqué est toujours 1 alors qu'il devrait mettre 0...

        Bref je tourne en rond...
        Merci pour votre aide.
        Jérôme
        1
        1. Bonjour,

          Et oui c'est le principe des intervalles+1
          mais pour répondre à ta question que tu aurais due poser dans ta propre discussion

          =SI(NBVAL(B16:C16)<2;"";C16-B16+1)
          ou encore
          =SI(NBVAL(B16:C16)<2;"";SOMME(C16-B16)+1)
          1
          1. Contributeur
            Bonjour

            pour un champ de A1 à A1000

            clic droit sur le nom de l'onglet

            Dans le menu choisir:"visualiser le code"

            coller ce code et ajuster les champs selon besoins

            Private Sub Worksheet_SelectionChange(ByVal Target As Range)
            'désignation de la ligne sélectionnée
            Dim Rw As Long
            Rw = Target.Row
            'Limites de la zone activée
            If Target.Column = 1 And Target.Row > 1 And Target.Row < 1000 Then
            'Sélection et valeur cellule résultat
            Range("B" & Rw).Select
            ActiveCell.FormulaR1C1 = Now
            End If
            End Sub


            crdlmnt
            0
            1. Re,

              Dans ce cas pourquoi ne pas avoir retenu celui le deuxième plus court qui fait la même chose

              Private Sub Worksheet_Change(ByVal Target As Range)
              On Error Resume Next
              If Not Intersect(Target, [A1:A100]) Is Nothing Then Target(1, 2) = Now
              End Sub

              et pourquoi ne pas pousser la réflexion plus loin et protéger la saisie de sorte à ne pas modifier cette dernière par erreur
              0
              1. Bonjour,
                Je m'excuse pour mon temps de réponse.

                En effet, votre proposition m'intéresse, protéger la saisie de donner peut être un élément intéressant pour moi.

                Je ne vous répondrai pas avant une semaine, je n'ai pas accès à internet régulièrement.

                Très cordialement,
                CharlesDB
                0
            2. Re,

              On verra ça dans une dizaine de jours, ski oblige si je ne me casse pas une patte
              0
              1. Pareil :)
                0
            3. Re Ok à dans une semaine, ou vas tu faire du ski
              0
              1. J'étais sur Avoriaz, beau temps toute la semaine et neige top au début mais fondue a la fin du séjour !
                0
            4. Merci bcp pour votre aide ! Ca marche :)

              Je suis comblé ! ;)

              Excellent WE.

              Jérôme
              0