Afficher la date de modification de plusieurs cellules

Bonjour à tous,

Suite à mon problème j'ai recherché différentes solutions sur le forum mais je n'en ai guère trouver correspondant parfaitement à mon problème.

Je m'explique: je suis en train de créer une base de donnée des différentes taches à effectuer (vous pourrez la trouver en pièce jointe).

Dans la colonne C j'inscris les budgets prévisionnels de chaque tache, en D ce qui a été consommé jusqu'à présent et en E le budget restant qui fait la soustraction.

Ce que je souhaiterais, c'est que la colonne F m'affiche la date de la modification en cas de modification des colonnes C ou D.

Pour l'exemple:

Si C2 ou D2 est modifié, alors F2 affiche la date de modification,

Si C3 ou D3 est modifié, alors F3 affiche la date de modification,

Si C4 ou F4 est modifié, alors F4 affiche la date de modification et ainsi de suite.

J'espère que mon explication est assez claire sans être trop lourde. Merci d'avance pour votre contribution.

Mamby

Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
date_test = Now()
If Target.Address = "$C$2" Or Target.Address = "$D$2" Then
Range("F2") = Format(date_test, "dd.mm.yyyy hh:mm")
End If
End Sub

à mettre de la Feuil1, si tu veux un autre format de dates = https://www.excel-pratique.com/fr/astuces_vba/format_dates.php

Je l'ai fait pour la ligne 2, quelqu'un de plus experimenté te dira comment l'adapter à toutes les lignes

[EDIT] le petit souci c'est que même si on double clique sur la cellule et qu'on ne la modifie pas, la date de modification change !

bonjour,

ce code fonctionne pour toute les lignes

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    colonne = Mid(Target.Address, 2, 1)
    If colonne = "C" Or colonne = "D" Then
        Range("F" & Target.Row) = Date
    End If

End Sub

par contre il ne prends pas en compte les modifications, il mettra la date dès que l'utilisateur cliquera sur une une cellule de la ligne C ou D

Bonjour icemake,

En liant nos codes, cela peut donner quelque chose comme ça :

Private Sub Worksheet_Change(ByVal Target As Range)
    date_test = Now()
    colonne = Mid(Target.Address, 2, 1)
    If colonne = "C" Or colonne = "D" Then
        Range("F" & Target.Row) = Format(date_test, "dd.mm.yyyy hh:mm")
    End If

End Sub

l'avantage du Worksheet_Change c'est qu'il faut un double clique sur la cellule et non un simple clique.

j'ai fait ça vite fait j'ai pas pris le temps de regarder les méthodes possibles ^^

donc merci pour l'amélioration

donc voila Mamby la tu as exactement ce que tu veux normalement

Bonjour à tous,

Déjà un grand merci pour vos contributions rapides et pleines de sens.

J'ai bien avancé et la macro-fonctionne parfaitement si ce n'est que la modification s'effectue dès que l'on a coché la case.

Je vais conserver ce modèle pour le moment qui me semble le plus abouti et le plus proche de mes besoins. Mais, comme on en apprend tous les jours et on qu'on peut toujours s'améliorer , je reste à l'écoute de tout autre amélioration.

En tout cas une fois de plus un grand merci!!!!!

Mamby

Rechercher des sujets similaires à "afficher date modification"