Figer date d'une cellule

Bonjour,

Je partage un fichier que j'ai mis en forme pour les besoins du forum.

Suite à une demande pour figer la date de saisie.

Le besoin est si une valeur est renseignée sur une cellule, incrémenter la date et/ou l'heure de la saisie. (Selon le format de la cellule)

L'astuce est d'activer le calcul itératif dans les options de formule d'excel.

capture

Et de mettre la formule suivante dans la cellule où vous voulez rendre visible la date

=SI(A2="";"";SI(B2<>"";B2;MAINTENANT()))

Ci-joint le fichier.

Merci à DAN

https://forum.excel-pratique.com/excel/date-du-jour-fixe-t42102.html

Cordialement

Leakim

1'430figer-date.xlsx (52.67 Ko)

Salut Leakim !

Je ne raffole pas trop d'utiliser le calcul itératif... ma préférence va toujours à l'utilisation de l'évènement Change en VBA...

Mais au cas particulier, il s'agit de réagir au premier changement, et de ne plus réagir à tout changement ultérieur...

Cordialement.

Salut Mferrant,

Pour les lecteurs qui passeraient par là, je remets le lien du post https://forum.excel-pratique.com/excel/date-de-saisie-dans-excel-sans-mise-a-jour-t88137.html

Pour te répondre, je veux bien faire autrement, mais le VBA et moi c'est pas automatique . Alors si tu as un exemple VBA avec un code, je serais ravi d'apprendre.

Cordialement,

Leakim

Salut Leakim !

Merci d'avoir retrouvé ce post que je croyais s'être perdu ! Il était destiné au sujet que tu cites, et dans lequel tu avais mis un lien de ce sujet-ci. J'ai donc répondu par erreur dans le sujet que tu amenais au lieu de répondre dans le sujet initial...

Je n'avais pas fourni de code, parce qu'il n'y avait pas de fichier fourni par le demandeur. Dans ce cas, si les explications indiquent la totalité des références à utiliser dans le code, je fournis éventuellement un code sans fichier, mais là il fallait élargir...

Sinon, reprenons l'exemple : si E1 est modifié et contient une valeur, on met la date en A1. On prépare le terrain en allant mettre par exemple dans une cellule éloignée, mettons EY1, à 150 colonnes d'écart la mention "A1". Et c'est là qu'on ira chercher l'adresse de la cellule cible, et après usage on supprime cette mention...

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim cc$, k%
    If Target.Address = "$E$1" Then
        k = Target.Column + 150
        cc = .Cells(1, k)
        If cc <> "" Then
            Me.Range(cc) = Date
            .Cells(1, k).Clear
        End If
    End If
End Sub

Ainsi, E1 modifiée, on met la date dans la cellule désignée par EY1, soit A1 et on supprime le contenu de EY1. Si E1 est à nouveau modifiée, il ne se passera plus rien !

Cordialement.

Rechercher des sujets similaires à "figer date"