• Initiateur de la discussion Initiateur de la discussion Lord Nelson
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Bonsoir
juste une petite question

J'aimerais que lorsque je modifie une valeur sur la ligne 1 ,il apparaisse la date du jour dans la cellule F1.

Es ce possible, moi je n arrive pas a verifier la modification.

De plus je souhaite l'étendre a toutes mes lignes
modiif ligne 2 date F2
etc

Es ce difficile a faire?

Bye Ancat et merci d'avance
 
Salut Ancat,

Voici une procédure événementielle qui devrait répondre à ta préoccupation :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column < 5 Then
Cells(Target.Row, 5) = Date
End If
End Sub

Elle détecte tout changement dans la feuille entre les colonnes A à E et indique la date du jour en F, sur la ligne où le changement est survenu.
Il te suffit de copier/coller ce code dans la partie code de la feuille voulue.
(Alt F11 et double-clic sur Feuil1 par exemple pour faire apparaître la feuille de code).

A+
Horatio
 
Re,

Pourquoi pas, essaie ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column < 6 Then
Cells(Target.Row, 6) = Date
Cells(Target.Row, 7) = Time
End If
End Sub

(Tu auras probablement à formater la colonne G en hh:mm:ss)

A+
Horatio
 
Salut Horacio,

Je viens d'essayer ta macro, et j'y suis parvenu, donc elle est très bien (lol).

Peut-être une toute petite amélioration à y apporter : lorsqu'on efface le contenu des 5 cellules, il serait peut-être souhaitable que le contenu (la date) de la 6ième cellule s'efface aussi, à moins que l'utilisateur souhaite conserver la date de l'effacement, ce qui n'est pas mon cas.

Ândré.
 
Salut à tous,

André, voici deux adaptations de la macro en réponse à tes remarques :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column < 6 Then
If Target.Row > 3 Then
If Range("A" & Target.Row) & Range("B" & Target.Row) & Range("C" & Target.Row) & Range("D" & Target.Row) & Range("E" & Target.Row) = "" Then
Cells(Target.Row, 6) = ""
Cells(Target.Row, 7) = ""
Else
Cells(Target.Row, 6) = Date
Cells(Target.Row, 7) = Time
End If
End If
End If
End Sub

Elle ne s'applique qu'à partir de la 4ème ligne et efface la date si la ligne est vide.

NB : ça ne marche pas en cas d'effacement de plusieurs lignes à la fois.

A+
Horatio
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
136
Réponses
2
Affichages
206
Réponses
1
Affichages
576
Retour