Faire apparaître la date dans une cellule dans Excel 2003

Résolu
Bonjour,
J'aimerais savoir si il est possible dans Excel 2003 de faire afficher le Mois en cours dans une cellule dès que je mets une valeur quelconque dans une autre cellule. Juste pour savoir quand une donnée a été rentrée. Si oui, comment pourrais-je le faire ?

Merci d'avance pour vos réponses

8 réponses

  1. Bonjour,

    En supposant que ta date est en A1,

    =MOIS(A1)

    pour ta demande, si tu veux le mois en cours en fonction du contenu de la cellule A1

    =SI(A1<>"";MOIS(AUJOURDHUI());"")

    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
    1. Contributeur
      Bonjour

      Salut Mike
      je te laisse la réponse tu es meilleur que moi pour ça, mais je crois que le demandeur veut enregistrer la date à laquelle une donnée est entrée, c'est à dire qu'il faut la figer, ce qui n'est pas possible par cette formule.
      Mais j'"ai dans mes tiroirs une de tes propositions par VBA (action dans une cellule entre une date dans une autre)qui fonctionne bien.
      Je laisse donc Cèsar rendre à César ce qui est à César.

      Bien amicalement

      0
      1. Bonjour à vous tous, et merci pour vos propositions. Effectivement comme l'a dit Vaucluse, J'aimerais le mois apparaise dans une cellule à chaque fois que j'entre une donnée quelconque dans une autre
        0
    2. Salut l'ami,

      J'ai hésité, il est possible que j'ai mal interprété la demande mais attendons le retour de Black pour avoir des précisions
      0
      1. salut mike tu a vu m on email??
        0
    3. Re,

      Alors en VBA il faut être très précis, en supposant que tes valeurs sont saisies colonne A et que tu souhaite le mois en toute lettre en B, colle ce code dans le Visual Basic
      pour cela clic droit sur l'onglet de ta feuille/Visualiser le code

      Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Column <> 1 Then Exit Sub
      If Target <> "" Then
      If Target.Offset(0, 1) = "" Then Target.Offset(0, 1) = Format(Date, "mmmm")
      Else
      Target.Offset(0, 1) = ""
      End If
      End Sub

      pour écrire un code adapté à tes besoins, donne nous la colonne de référence ainsi que la colonne dans laquelle tu souhaites avoir le mois

      A+
      Mike-31

      Une période d'échec est un moment rêvé pour semer les graines du savoir.
      0
      1. Hello Mike !!!

        Désoolé pour les longs délais entre mes réponses. Décalage horaire.
        Merci déjà pour tes réponses.
        Je dois te dire que la dernière fois que j'ai fait une VBA, ça doit faire au moins 7 ans, mais je vais essayer ton code.
        Le mois, je le voudrais dans la Colonne F et mes données, je vais les saisir en colonne E. Penses-Tu que ce code marcherait si je décide de saisir les données en C, D ou E ?

        Merci encore
        0
        1. Pitié, ne m'abandonnez pas
          0
          1. Contributeur
            Bonsoir
            dans la macro, pour qu'elle agisse sur la colonne F quand vous entrez une valeur en E il suffit de modifier la ligne
            If Target.Column <> 1 Then Exit Sub
            en
            If Target.Column <> 5 Then Exit Sub

            Ce N° étant le N° de colonne du champ où s'applique la valeur, la suite de macro décalant l'entrée de la date d'une cellule vers la droite

            crdlmnt
            0
          2. Contributeur
            ... et pour inscrire le mois en F si vous entrez une valeur en C,D ou E, coller ce code

            Private Sub Worksheet_Change(ByVal Target As Range)

            Application.ScreenUpdating = False
            Dim Rw As Long
            Rw = Target.Row
            If Target.Column > 2 And Target.Column < 6 Then
            Range("F" & Rw).Select
            ActiveCell.Value = Format(Date, "mmmm")

            End If
            End Sub

            crdlmnt
            0
          3. Salut Vaucluse,

            attention mon ami, si tu utilises en début de code
            Application.ScreenUpdating = False

            il ne faut pas oublier de rétablir les fonctions d'Excel en fin
            Application.screenupdating=True

            mais vu la légèreté du code cette syntaxe n'est pas nécessaire
            j'écrirai le code ainsi avec la sécurité de ne pas modifier le mois en F s'il existe déjà

            Private Sub Worksheet_Change(ByVal Target As Range)
            Dim Rw As Long
            Rw = Target.Row
            If Target.Column = 5 And Target.Offset(0, 1) = "" Then
            Range("F" & Rw).Value = Format(Date, "mmmm")
            End If
            End Sub

            Cordialement
            Mike-31
            0
        2. Re,

          voila, voila !

          valeur saisie en colonne F mois se mettra en colonne E, colle ce code dans le Visual Basic à la place de l'ancien

          Private Sub Worksheet_Change(ByVal Target As Range)
          If Target.Column <> 6 Then Exit Sub
          If Target <> "" Then
          If Target.Offset(0, -1) = "" Then Target.Offset(0, -1) = Format(Date, "mmmm")
          Else
          Target.Offset(0, -1) = ""
          End If
          End Sub

          pour modifier la colonne de saisie, dans cette ligne, 6 est le numéro de ta colonne 1= colonne A, 2 colonne B donc 6 colonne 6

          If Target.Column <> 6 Then Exit Sub

          ici
          Target.Offset(0, -1)

          Target.Offset(0 est le numéro de la ligne par rapport à la cellule de saisie et -1 est la position de la colonne par rapport à la colonne de saisie donc -1 = E par rapport à F, pour mettre le mois en C par rapport à la colonne F il convient de modifier comme ceci
          Target.Offset(0, -3)
          et pour avoir le mois en H
          Target.Offset(0, 2)

          A+
          Mike-31

          Une période d'échec est un moment rêvé pour semer les graines du savoir.
          0
          1. Si tu n'arrives pas à adapter le code, pour saisir les données en colonne E et le mois en F

            Private Sub Worksheet_Change(ByVal Target As Range)
            If Target.Column <> 5 Then Exit Sub
            If Target <> "" Then
            If Target.Offset(0, 1) = "" Then Target.Offset(0, 1) = Format(Date, "mmmm")
            Else
            Target.Offset(0, 1) = ""
            End If
            End Sub
            0
        3. Mike-31, Vaucluse, Juste pour vous dire merci. ça marche. vous m'enlevez une épine du pieds.

          Merci encore
          0