Comment configurer une cellule Excel à la date actuelle à l'aide de VBA?

Je suis en train d'exécuter une erreur en essayant de définir une cellule Excel à la date actuelle chaque fois que quelqu'un modifie d'autres cellules dans la feuille de calcul.

Voici le code:

Dim EditDate As Date RowNum = ActiveCell.Row ColNum = ActiveCell.Column If ColNum = 11 Or ColNum = 13 Or ColNum = 19 Or ColNum = 20 Or ColNum = 21 Or ColNum = 22 _ Or ColNum = 23 Or ColNum = 24 Then Application.EnableEvents = False EditDate = Date() ActiveWorksheet.Range("Y," & RowNum).Value = EditDate Application.EnableEvents = True End If 

Je reçois une erreur requirejse par l'object chaque fois que j'essaie d'apporter un changement dans l'une de ces cellules. Comment puis-je faire fonctionner?

Je pense que votre problème n'était pas de déclarer RowNum ou ColNum comme quelque chose. Vous voulez que ces deux soient un type numérique (j'utilise Long dans cet exemple).

Comme PasortingcK l'a déclaré, ActiveWorksheet devrait être ActiveSheet . Vous avez également eu d'autres erreurs de syntaxe, mais jetez un coup d'oeil à mon code pour une version fonctionnelle de ce que vous voulez.

Je ne sais pas si vous avez mis ce code. J'aimerais héberger le code dans l'object Worksheet tant Worksheet de Change Event .

Code de travail:

 Sub Worksheet_Change(ByVal Target As Range) Dim EditDate As Date Dim RowNum As Long Dim ColNum As Long RowNum = ActiveCell.Row ColNum = ActiveCell.Column If ColNum = 11 Or ColNum = 13 Or ColNum = 19 Or ColNum = 20 Or ColNum = 21 Or ColNum = 22 _ Or ColNum = 23 Or ColNum = 24 Then Application.EnableEvents = False EditDate = Format(Now(), "d/m/yyyy hh:mm") ActiveSheet.Range("Y" & RowNum).Value = EditDate Application.EnableEvents = True End If End Sub 

Vous devez utiliser ActiveSheet.Range("Y," & RowNum).Value = EditDate , not ActiveWorksheet