Incrémentation date

Bonjour,

Je cherche à faire, sur Excel:

Quand je rentre une donnée dans la case A2, excel m'enregistre automatiquement dans la case B2 la date à laquelle j'ai rempli A2, et ne modifie plus cette date après.

Ex:
Le 15/10/2013, j'ouvre une ligne de dépense. Dans la case A2, je tape le montant. Et paf, automatiquement, excel m'affiche dans B2 la date du 15/10/2013, et cette case ne bouge plus, de sorte que mon historique de compte se fait seul.

Merci pour votre aide!

19 réponses

  1. Bonjour,

    En B2 as tu une formule, si oui laquelle

    ensuite en B2 saisi pour tester le chiffre 1 et dis nous ce que B2 affiche
    0
    1. Merci pour cette rép rapide.

      Pour l'instant, je n'ai pas de formule en B2, parce que je n'ai vu sur le sblogs que des proposition de macro qui ne correspondaient pas à ce que je cherche.
      0
      1. Re,

        Tu n'as pas répondu à ma question, saisi en B2 le chiffre 1 et dis nous ce que la cellule affiche, il se peut qu'elle soit formatée en date

        et as tu créé un code VBA dans le visual, si oui lequel

        A+
        Mike-31

        Une période d'échec est un moment rêvé pour semer les graines du savoir.
        0
        1. Ok, pardon: ça affiche: 01/01/1900, mais normal, c'est moi qui l'ai formaté en date ainsi

          Non, pas de code VBA pour le moment ;-)
          0
          1. Bonjour marcoDelBo,
            Salut Mike-31,

            Un début de solution en utilisant l'évènement Change de la feuille.
            Private Sub Worksheet_Change(ByVal Target As Range)
            If Target.Count <> 1 Then Exit Sub
            'Si A2 est modifiée et que B2 n'est pas renseignée, alors on inscrit la date système en B2.
            If Target.Address = "$A$2" And Range("B2").Value = "" Then Range("B2") = Date
            End Sub

            A+
            1
            1. Re,
              Salut Gyrus,

              c'est ce à quoi je pensais, clic droit sur la cellule B2/Format de cellule/onglet Nombre/sélectionne Standard et OK
              A+
              Mike-31

              Une période d'échec est un moment rêvé pour semer les graines du savoir.
              0
              1. ok merci, je vais tester ça!
                à +
                0
                1. Merci à vous 2.
                  Bon, c'est ma première macro pour être franc... Je ne connais pas la procédure pour utiliser change/developpeur.

                  Pouvez-vous me filer un lien qui décrit la marche à suivre SVP. Ca ne doit pas être complexe...
                  0
                  1. Re,

                    pour reformater une cellule ou un plage tu n'as pas besoin de formule et encore moins de macro, un simple clic droit sur la sélection et suivre mon post précédent

                    Mais plus je regarde ta demande et moins je comprends, à partir de la cellule A2 que veux tu exactement en B2 la date courante ?

                    A+
                    Mike-31

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

                      Quand je fais clic droit, je ne peux pas rentrer la formule de Gyrus, si?

                      Ce que je veux en B2, c'est la date à laquelle j'ai rentré manuellement une valeur dans A2.
                      0
                      1. Re,

                        le code de Gyrus est un code VBA pas une formule qui doit être copié dans les propriétés de ta feuille concernée, pour cela

                        clic droit sur l'onglet de ta feuille/ Visualiser le code/ il faut coller le code dans la zone blanche et revenir sur ta feuille
                        1
                        1. Effectivement, j'ai vu que ça fonctionnait, mais étendre la formule à 2 colonnes, comment transformez vous le code?

                          Merci à vous 2.
                          0
                          1. Heu ! étendre la formule à 2 colonnes, c'est un peu vague, non ?
                            Tu as remarqué que l'on peut joindre un exemple de classeur pour préciser le résultat attendu ... c'est une option pour étayer le propos.

                            A+
                            0
                            1. Private Sub Worksheet_Change(ByVal Target As Range)
                              If Target.Count <> 1 Then Exit Sub
                              'Si une valeur de la colonne A est modifiée et que la valeur de la cellule adjacente en colonne B _
                              n'est pas renseignée, alors on inscrit la date système en colonne B.
                              If Target.Column = 1 And Range("B" & Target.Row).Value = "" Then Range("B" & Target.Row) = Date
                              End Sub

                              A+
                              1
                              1. Merci de votre aide!
                                Dernier point: je ne vois pas apparaître "A" dans votre code.
                                Que faut-il modifier si la colonne des montants n'est pas en "A" mais en "G"?
                                0
                                1. If Target.Column = 1 signifie "si la colonne est la colonne A".
                                  If Target.Column = 7 signifie "si la colonne est la colonne G".

                                  A+
                                  1
                                  1. Vous êtes parfaits tous les 2: merci à Gyrus & Mike 31 !

                                    A+
                                    0