Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Insertion automatique de la date de modification, ligne par ligne

3 réponses
Avatar
ManBas
Bonjour,
Dans mon module de feuille j'ai introduit le code suivant, qui me donne en
T1 la date de modification de la ligne 1:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 Then
Range("T" & Target.Row) = "=now()"
End If
End Sub

Voici ce que je voudrais faire sans parvenir à l'exprimer en VBA:
-obtenir en T1 la date de modification de la ligne 1 seulement,
-obtenir en T2 la date de modification de la ligne 2 seulement,
- et ainsi de suite.

J'ai essayé:
If Target.Row = 2 Then
Range("T" & Target.Row) = "=now()"
End If
If Target.Row = 3 Then
Range("T" & Target.Row) = "=now()"
End If

Mais ce code modifie toutes les cellules T* pour les mettre à jour
simultanément à la date de dernière modification quelle que soit la ligne
modifiée.
Pouvez-vous m'aider SVP?
Merci +++ d'avance.

3 réponses

Avatar
Aurélien29
ManBas a formulé la demande :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 Then
Range("T" & Target.Row) = "=now()"
End If
End Sub


Salut
tu était pas loin :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Rows.Count = 1 Then
Range("T" & Target.Row) = Now
End If
End Sub

--
Aurélien29

Avatar
ManBas
Bonjour Aurélien,
Merci beaucoup!!!
"Aurélien29" a écrit dans le message de
news:
ManBas a formulé la demande :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 Then
Range("T" & Target.Row) = "=now()"
End If
End Sub


Salut
tu était pas loin :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Rows.Count = 1 Then
Range("T" & Target.Row) = Now
End If
End Sub

--
Aurélien29




Avatar
ManBas
Cette macro ralenti notablement la saisie (formulaire).
Comment pourrais-je la déclencher sur clic d'un bouton "valider" du
formulaire?

"Aurélien29" a écrit dans le message de
news:
ManBas a formulé la demande :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 Then
Range("T" & Target.Row) = "=now()"
End If
End Sub


Salut
tu était pas loin :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Rows.Count = 1 Then
Range("T" & Target.Row) = Now
End If
End Sub

--
Aurélien29