XL 2016 Logs utilisateurs classeur

ust711

XLDnaute Nouveau
Bonsoir,

Je suis en train de créer un tableau qui va être par la suite partagé avec mes collaborateurs. Dans cette optique, j'ai utilisé du VBA pour gérer les utilisateurs et qui pourra accéder à tel ou tel onglet et quels utilisateurs pourront créer/modifier des comptes utilisateurs.

Jusqu'ici, aucun souci. J'aimerais par contre garder une trace de chaque connexion à ce classeur. Pour ce faire, j'ai créé un onglet "Logs", visible uniquement par les utilisateurs autorisés. J'ai ajouté le code suivant afin que le nom d'utilisateur et la date/heure y soient ajoutés :

VB:
Private Sub Workbook_Open()
With Sheets("Logs")
LastRow = .Cells(Rows.Count, "A").End(xlUp).Row + 1
.Cells(LastRow, 1) = User
.Cells(LastRow, 1).Offset(, 1).Value = Now
End With
ActiveWorkbook.Save
End Sub

Le seul hic, c'est que chaque nouveau log est ajouté tout en bas et j'aimerais avoir l'inverse, c'est-à-dire en A2 le nom du dernier utilisateur connecté et en B2 la date/heure. A1 et B1 contiennent des en-têtes, c'est pour cela que je commence à la 2e ligne.

J'ai essayé de chercher sur ce forum ainsi que sur internet, il y a bien des variantes avec des macros pour le tri mais qui n'ont rien donné jusqu'à maintenant, donc je m'en remets à vous.

Merci d'avance pour toute aide très précieuse !

Cordialement,
UST711
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®
. J'aimerais par contre garder une trace de chaque connexion à ce classeur. Pour ce faire, j'ai créé un onglet "Logs", visible uniquement par les utilisateurs autorisés. J'ai ajouté le code suivant afin que le nom d'utilisateur et la date/heure y soient ajoutés

VB:
Private Sub Workbook_Open()
With Sheets("Logs")
.cells(2,1).EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
.cells(2,1)= User
.cells(2,2)= Now
End With
ActiveWorkbook.Save
End Sub
 

Discussions similaires

Réponses
2
Affichages
111

Statistiques des forums

Discussions
312 111
Messages
2 085 400
Membres
102 883
dernier inscrit
jameseyz