Salut, je suis tombé sur les dernières options de sauvegarde pour un classeur, dans lesquelles le code permet de suivre la date et l'heure de sa dernière modification et de son affichage dans une cellule.Je me demandais si vba pouvait permettre de suivre les données et l'heure de celui-ci étant modifié pour la dernière fois sur une feuille de calcul spécifique, disons Sheet1. Ainsi, chaque fois que des modifications ont été apportées et enregistrées dans la feuille 1, elles refléteraient uniquement l'heure et la date enregistrées sur cette feuille. Voici le code que j'ai pour le classeur jusqu'à présent, j'ai essayé d'ajouter .Sheets("Sheet 1")
au code mais il suit l'heure à laquelle j'ai visité la page et non celle que j'ai modifiée. Ce sont les codes de mon classeur.
Private Sub Workbook_Open()
Call starttheClock
End Sub
Sub Workbooky()
ActiveWindow.ScrollRow = 1
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Name = "Index" Then Exit Sub
Application.EnableEvents = 0
i = ActiveSheet.Index
With Sheets("Index")
.Cells(i, 1) = ActiveSheet.Name
.Cells(i, 2) = Now
End With
Application.EnableEvents = 1
End Sub
Juste pour ajouter un peu plus de confusion à la réponse ci-dessus, si vous avez une feuille nommée "Index" et que vous voulez avoir une date qui est ajoutée à une feuille chaque fois qu'elle est modifiée, peut-être un code qui entrera dans le module de classeur. Ensuite, vous n'aurez qu'un seul code à vérifier chaque fois que l'une des feuilles de calcul a un changement.
C'est là que se trouve le module de classeur et le code y appartient.
Cela suppose que vous ayez une feuille nommée "Index", nommez-la comme vous voulez une fois que vous l'avez faite correctement. Le nom réel de la feuille et le nom de la feuille dans le code doivent cependant correspondre exactement.
Voici le code qui ira dans le module de classeur. Copiez-le et collez-le dans le module de classeur
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Name = "Index" Then Exit Sub
Application.EnableEvents = 0
i = ActiveSheet.Index
With Sheets("Index")
.Cells(i, 1) = ActiveSheet.Name
.Cells(i, 2) = Now
End With
Application.EnableEvents = 1
End Sub
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras