IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macro - Journal des Utilisations - Messagebox première ouverture [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 2
    Par défaut Macro - Journal des Utilisations - Messagebox première ouverture
    Bonjour à tous,

    Je suis à la recherche d'une macro qui me permettrait de tenir un journal des ouvertures (et fermetures) d'un fichier.

    L'idéal serait de pouvoir afficher grace a une recherche dans ce fichier, une message box aux utilisateur qui l'ouvre pour la première fois.

    Ce que je cherchais a faire à la base, mais il ne semble pas que ce soit possible.

    Le fichier journal est sur un serveur, donc centralisé.

    J'arrive à le faire dans un fichier .txt, mais pas possible de faire une recherche du coup.

    Voici le code qui me permet d'obtenir ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    journalise "fermeture"
    End Sub
     
    Private Sub Workbook_Open()
    journalise "ouverture"
    End Sub
     
    Sub journalise(txt)
    rep_journal = Sheets(11).Range("adr_rep")
    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_" & Format(Now, "mmyy") & ".txt" For Append As #filnb
    Print #filnb, Now & ", " & txt & ", " & Application.UserName
    Close #filnb
    fin:
    On Error GoTo 0
    End Sub
    adr_rep est un nom ou est localisé mon fichier .txt


    Est ce que quelqu'un aurait une idée, quelque chose.

    Merci à tous

    Bastien

  2. #2
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    J'arrive à le faire dans un fichier .txt, mais pas possible de faire une recherche du coup.
    Consultes donc http://www.developpez.net/forums/d59...txt-vba-excel/

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 2
    Par défaut
    J'ai finalement réussis grace à ce code si ça intéresse quelqu'un.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    journalise "Fermeture"
    End Sub
     
    Private Sub Workbook_Open()
    journalise "Ouverture"
    End Sub
     
    Sub journalise(txt)
    rep_journal = Sheets(11).Range("adr_rep")
     
    ficherOuvrir = rep_journal & "log.xlsx"
    On Error GoTo fin
     
    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Open(ficherOuvrir)
     
    intRow = 1
    strDN = ""
    intcolm = 1
    strDN = ""
     
    Do Until objExcel.Cells(intRow, 1).Value2 = ""
           intRow = intRow + 1
    Loop
           objExcel.Cells(intRow, 1).Value = Now
           objExcel.Cells(intRow, 2).Value = Application.UserName
           objExcel.Cells(intRow, 3).Value = txt
     
    objExcel.Workbooks(1).Save
    objExcel.Workbooks(1).Close
    objExcel.Quit
     
    fin:
    On Error GoTo 0
    End Sub

    Ce qui me donne un fichier Excel auquel s'ajoute a chaque ouverture et fermeture quelque chose comme :
    14:50:14 Francois Dupont Ouverture
    14:58:12 Francois Dupont Fermeture
    14:59:17 Patrick Antoine Ouverture
    Etc. Etc.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Utilisation de modules macro dans des feuilles protégées par mot de passe
    Par davimaje dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 14/11/2014, 17h32
  2. Macro avec formule utilisant des cellules contenant des formules Vlookup
    Par Isabelle86 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/10/2010, 15h13
  3. Journal des requêtes SQL effectuées
    Par Kcirtap dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 18/07/2005, 09h58
  4. Automatisation de la purge du journal des transactions
    Par Nathan dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 30/09/2004, 08h05
  5. vider le journal des transactions
    Par coucoucmoi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/05/2004, 09h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo