XL 2013 Ligne active pour ajout automatique

Dominique

XLDnaute Nouveau
Bonjour,
Grace aux exemples du forum, j'ai inséré un code permettant de noter quand une modification a été faite et qui l'a faite. Seulement voilà, j'ai un problème en utilisant la commande "ActiveCell.Row": Quand je valide une cellule, c'est la cellule du dessous qui devient active. Pour contourner cela, j'ai créé une variable
"ActiveCell.Row - 1". Cette solution n'est pas satisfaisante, car elle donne de mauvais réultats quand on filtre une colonne, quand on supprime des élements (la modif s'inscrit alors "vers le haut") ou quand une cellule est validée en utilisant la flèche vers le haut par exemple.

Auriez-vous une solution élegante pour que la "ActiveCell" soit effectivement celle qui vient d'etre modifiée?

Ci-dessous mon code, ci-joint un exemple.

Merci d'avance et bonne journée

Dominique

<- - - - -
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Source As Range)

If Sh.Name = "Unternehmen_Ernaehrung" Then

If Intersect(Source, Range("C2:AV11000")) Is Nothing Then
Else
DateModif = Now
NumLigne = ActiveCell.Row - 1
Utilisateur = UserStatus(1, 1)
Worksheets("Unternehmen_Ernaehrung").Range("B" & NumLigne).Value = DateModif
Worksheets("Unternehmen_Ernaehrung").Range("A" & NumLigne).Value = Utilisateur
End If


End If

End Sub
- - - - - >
 

Pièces jointes

  • Exemple_nom_et_date_automatique.xlsm
    14.3 KB · Affichages: 29

eriiic

XLDnaute Barbatruc
Bonjour à tous,

petit complément à la proposition de philippe :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("D2:L1000")) Is Nothing Then
        Application.EnableEvents = False
        Cells(Target.Row, 1) = Application.UserName
        Cells(Target.Row, 2) = Format(Now, "dd/mm/yyyy hh:mm:ss")
        Cells(Target.Row, 3) = Target.Address(False, False)
        Application.EnableEvents = True
    End If
End Sub
eric
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 973
Membres
103 073
dernier inscrit
MSCHOE16