créer un fichier log

eliooo22

XLDnaute Nouveau
Bonjour à tous et merci d'avance pour votre précieuse aide,
Voilà je cherche à créer un fichier log à partir d'une macro qui dès qu'un utilisateur ouvre un fichier A cela copie son username dans un fichier B.
Mon problème c'est que je ne connais pas la commande pour que les username se copient automatiquement les uns en dessous des autres dans le fichier B.

Merci ++

Cordialement,
 

Risleure

XLDnaute Occasionnel
Re : créer un fichier log

Bonjour le Forum,
Un code récupèré sur ce Forum et à mettre au niveau ThisWorkBook
il enregistre dans un fichier journal mois par mois les accés (Entrée et sortie) au fichier XL
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Enregistre la fermeture dans le journal de suivi
journalise "fermeture"
End Sub
'***********
Private Sub Workbook_Open()
'Enregistre l'ouverture dans le journal de suivi
journalise "ouverture"
End Sub
'****************
Sub journalise(txt)
rep_journal = [highlight]"C:\Mettre le nom du répertoire dans lequel tu souhaites mettre le jounal\"
'A modifier = f(besoin)
If Right(rep_journal, 1) = "\" Then rep_journal = Left(rep_journal, Len(rep_journal) - 1)
On Error GoTo fin
If Dir(rep_journal, vbDirectory) = "" Then MkDir (rep_journal)
filnb = FreeFile
Open rep_journal & "\journal_Chrono_" & Format(Now, "mmyy") & ".txt" For Append As #filnb
Print #filnb, Now & ", " & txt & ", " & Application.UserName
Close #filnb
fin:
On Error GoTo 0
End Sub[/code]
 
Dernière édition:

brice_

XLDnaute Nouveau
Re : créer un fichier log

Bonjour,

cette macro me convient
Code:
Sub Log()
Dim InfosUtilisateur As String

InfosUtilisateur = Environ("username") & "    " & Now
    AddLineToTextFile "C:\Log.txt", ""
    AddLineToTextFile "C:\Log.txt", InfosUtilisateur
End Sub



Sub AddLineToTextFile(textFilePath As String, line As String)
Dim myFso As Object, textFile As Object
Set myFso = CreateObject("Scripting.FileSystemObject")
Set textFile = myFso.OpenTextFile(textFilePath, 8)
textFile.WriteLine line
textFile.Close
Set myFso = Nothing: Set textFile = Nothing
End Sub

mais j'aimerais rajouter le nom du fichier qui a été ouvert

merci
 

mromain

XLDnaute Barbatruc
Re : créer un fichier log

bonjour brice_,

essaye avec cette macro :
Code:
Sub Log()
Dim InfosUtilisateur As String
AddLineToTextFile "C:\Log.txt", vbNewLine & Environ("username") & vbTab & Now & vbTab & ThisWorkbook.Name
End Sub

a+
 

SubEndSub

XLDnaute Occasionnel
Re : créer un fichier log

Bonjour chez vous


VBA sait écrire dans un fichier texte sans utiliser Windows Script ;)
(comme l'avait déjà évoqué Risleure )

Code:
Const FichierLOG As String = "C:\Log.txt"
Sub Logging()
Dim X As Integer
X = FreeFile
Open FichierLOG For Append As #X
Print #X, Environ("username") & ": " & Date & "-" & Format(Time, "hh:mm") & ": " & ThisWorkbook.Name
Close #X
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 611
Messages
2 090 226
Membres
104 452
dernier inscrit
hamzamounir