Incrémentation date

marcoDelBo Messages postés 10 Statut Membre -  
marcoDelBo Messages postés 10 Statut Membre -
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. Gyrus Messages postés 3360 Statut Membre 526
     
    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
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  3. Gyrus Messages postés 3360 Statut Membre 526
     
    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
  4. Gyrus Messages postés 3360 Statut Membre 526
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  7. marcoDelBo Messages postés 10 Statut Membre
     
    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
  8. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  9. marcoDelBo Messages postés 10 Statut Membre
     
    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
  10. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  11. marcoDelBo Messages postés 10 Statut Membre
     
    ok merci, je vais tester ça!
    à +
    0
  12. marcoDelBo Messages postés 10 Statut Membre
     
    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
  13. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  14. marcoDelBo Messages postés 10 Statut Membre
     
    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
  15. marcoDelBo Messages postés 10 Statut Membre
     
    Effectivement, j'ai vu que ça fonctionnait, mais étendre la formule à 2 colonnes, comment transformez vous le code?

    Merci à vous 2.
    0
  16. Gyrus Messages postés 3360 Statut Membre 526
     
    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
  17. marcoDelBo Messages postés 10 Statut Membre
     
    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
  18. marcoDelBo Messages postés 10 Statut Membre
     
    Vous êtes parfaits tous les 2: merci à Gyrus & Mike 31 !

    A+
    0