Excel 2003

Bonjour,

Dans Excel 2003, comment écrire automatiquement une date dans une cellule adjacente à une cellule modifiée.
Par exemple :
Si dans la cellule A1 pas de valeur => cellule B1 => vide
Si dans la cellule A1 une valeur => cellule B1 => date du jour d'écriture de la valeur A1

Merci d'avance pour votre aide

Jclaudej
Configuration: Windows XP
Firefox 3.0.3

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    pour la date automatique : =MAINTENANT()

    pour la fonction si : Fonction définition

    a voir aussi : Ajouter une date fixe dans une cellule
    1. Contributeur
      Bonjour,

      ça serait =si(A1="";"";aujourdhui())
      Le problème c'est que demain aujourdhui() sera égal au 25/10/08...
      Donc non faisable par formule puisque tu veux la date du jour d'écriture
      Soit utiliser le raccourci clavier ctrl+; pour marquer la date du jour sans qu'elle évolue le lendemain,
      faire par macro vba,
      ou beaucoup mieux : utiliser le suivi des modifications, menu 'outils / suivi des modifications / afficher les modifications....'. Tu auras la date, l'heure, l'ancienne valeur, et par qui elle a été modifiée. Il faut positionner la souris sur la cellule pour afficher.

      eric
      1. pour commencer, merci à vous tous pour votre aide.

        Dommage que la fonction :
        =si(A1="";"";aujourdhui()) ne fige pas la date à celle de l'écriture ou de la mise à jour de la cellule adjacente.
        Pour ce qui est de la macro VBA, je ne sais pas faire donc retour à la case départ.
        1. Par contre :
          =si(A1="";"";maintenant())
          devrait conserver la date du jour de l'écriture ou de la modification !
          Je test et je vous informe ensuite.

          @ +
          1. Contributeur
            et le suivi des modif non plus ?
            en vba alors :
            Private Sub Worksheet_Change(ByVal Target As Range)
                If Intersect(Target, Union([A1:A3], [D1:D3])) Is Nothing Then Exit Sub
                Target.Offset(0, 1).Value = Date
            End Sub

            Dans Union([A1:A3], [D1:D3]) tu mets toutes les plages que tu veux superviser.
            Dans .Offset(0, 1) tu défini le décalage où coller la date. Ici même ligne, 1 cellule à droite de la cellule modifiée.

            Clic-droit sur l'onglet de la feuille concernée, 'visualiser le code...', et coller le code dans la fenetre de droite

            eric