A voir également:
- Comment ouvrir un fichier log ?
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Comment ouvrir un fichier docx ? - Guide
- Comment ouvrir un fichier dat - Guide
- Comment réduire la taille d'un fichier - Guide
6 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié le 13 août 2020 à 08:45
Modifié le 13 août 2020 à 08:45
Bonjouur
indique qui a ouvert et fermé le classeur et quand (xl2000)
il est possible aussi -( autre macro)de connaitre la cellule éventuellement modifiée (adresse, ancienne et nouvelle valeur)
indique qui a ouvert et fermé le classeur et quand (xl2000)
il est possible aussi -( autre macro)de connaitre la cellule éventuellement modifiée (adresse, ancienne et nouvelle valeur)
Option Explicit
'----------------------------------------
Const fichier As String = "D:\docus\bigbrother.txt" 'A ADAPTER AU CONTEXTE
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, _
nSize As Long) As Long
Private Sub Workbook_Open()
Dim lpBuff As String * 25
Dim retour As Long
Dim utilisateur As String, cafte As String
retour = GetUserName(lpBuff, 25)
utilisateur = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
cafte = "Ouvert à : " & Format(Now, "dd/mm/yyyy hh:mm:ss") & _
vbTab & "par : " & utilisateur
Open fichier For Append As #1
Print #1, cafte
Close
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim lpBuff As String * 25
Dim retour As Long
Dim utilisateur As String, cafte As String
retour = GetUserName(lpBuff, 25)
utilisateur = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
cafte = "Fermé à : " & Format(Now, "dd/mm/yyyy hh:mm:ss") & _
vbTab & "par : " & utilisateur
Open fichier For Append As #1
Print #1, cafte
Close
End Sub
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
13 août 2020 à 08:02
13 août 2020 à 08:02
Bonjour,
a mettre dans ThisWorkbook
a mettre dans ThisWorkbook
Option Explicit Private Sub Workbook_Open() 'affiche en A1 le nombre d'ouvertures Range("A1") = Range("A1") + 1 'crée un fichier texte dans le même dossier que le classeur avec le nom, la date et l'heure Open ThisWorkbook.Path & "\compteur.txt" For Append As #1 Print #1, Application.UserName, Now Close #1 'sauvegarde avant qu'on ferme sans sauvegarde ActiveWorkbook.Save End Sub
bonjour,
j'avais un autre genre de problème, j'avais un fichier qui plantait mais je n'arrivais pas à savoir si c’était toujours la même personne ou un environnement ou une version d'Excel.
j'ai donc mis cela dans l'appli. Cela m’écrit un fichier TXT dans un répertoire du réseau (accessible à tous le monde) qui parait anodin et de toute façon, ce fichier ne contient rien de spéciale ou confidentiel. Tu peux même y ajouter l'heure si tu veux. Mais si cela est plus "secret" , rien ne t'interdit de t'amuser à le crypter...
Private Sub Workbook_Open()
' Pour écrire un fichier de suivit d'ouverture du fichier de pointage mensuel
Dim Usager As String, Machine As String, FichierMois As String, Repertoire As String
Dim NomFichier As String
Usager = Environ("USERNAME")
Machine = Environ("COMPUTERNAME")
FichierMois = ThisWorkbook.Name
Repertoire = "W:\Affaires\"
NomFichier = Repertoire & FichierMois & ".TXT"
On Error GoTo fin:
Open NomFichier For Append As #1
Write #1, "Usager : " & Usager & " " & "Ordi : " & Machine & " " & "Date : " & Now
Close #1
fin:
On Error GoTo 0
End Sub
j'avais un autre genre de problème, j'avais un fichier qui plantait mais je n'arrivais pas à savoir si c’était toujours la même personne ou un environnement ou une version d'Excel.
j'ai donc mis cela dans l'appli. Cela m’écrit un fichier TXT dans un répertoire du réseau (accessible à tous le monde) qui parait anodin et de toute façon, ce fichier ne contient rien de spéciale ou confidentiel. Tu peux même y ajouter l'heure si tu veux. Mais si cela est plus "secret" , rien ne t'interdit de t'amuser à le crypter...
Private Sub Workbook_Open()
' Pour écrire un fichier de suivit d'ouverture du fichier de pointage mensuel
Dim Usager As String, Machine As String, FichierMois As String, Repertoire As String
Dim NomFichier As String
Usager = Environ("USERNAME")
Machine = Environ("COMPUTERNAME")
FichierMois = ThisWorkbook.Name
Repertoire = "W:\Affaires\"
NomFichier = Repertoire & FichierMois & ".TXT"
On Error GoTo fin:
Open NomFichier For Append As #1
Write #1, "Usager : " & Usager & " " & "Ordi : " & Machine & " " & "Date : " & Now
Close #1
fin:
On Error GoTo 0
End Sub
Ok michel_m j'ai réussi à intégrer ce dernier qui marche super !
Par contre je viens de m'apercevoir qu'il faut enregistrer le fichier excel sous format xlsx pour qu'il accepte la macro, ce n'est pas un problème en soi, mais quand je l'ai ouvert pour la première fois il y avait une barre en haut avec un avertissement de sécurité pour activer les macros, si l'utilisateur ouvre le fichier mais ne l'active pas je risque de ne pas le voir si ?
Ou comment parer à cela ?
Par contre je viens de m'apercevoir qu'il faut enregistrer le fichier excel sous format xlsx pour qu'il accepte la macro, ce n'est pas un problème en soi, mais quand je l'ai ouvert pour la première fois il y avait une barre en haut avec un avertissement de sécurité pour activer les macros, si l'utilisateur ouvre le fichier mais ne l'active pas je risque de ne pas le voir si ?
Ou comment parer à cela ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié le 14 août 2020 à 09:04
Modifié le 14 août 2020 à 09:04
Bonjour,
comme il s'agit de macro, il faut l’enregistrer sous la forme xlsm
as tu autorisé les macros sur ton ordi ?
les 2 macros doivent être installées non dans un module, mais dans "thisworkbook"
autrement, je ne vois pas...
comme il s'agit de macro, il faut l’enregistrer sous la forme xlsm
as tu autorisé les macros sur ton ordi ?
Activer les macros:
rond office- -options Excel
1/standard
cocher " onglet développeur dans ruban "
2/gestion confidentialité- paramètres centre gestion-confidentialité
Activer toutes les macros
les 2 macros doivent être installées non dans un module, mais dans "thisworkbook"
autrement, je ne vois pas...