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

Excel Discussion :

Récupérer Nom Collaborateur utilisant un fichier [XL-2016]


Sujet :

Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2010
    Messages : 90
    Points : 42
    Points
    42
    Par défaut Récupérer Nom Collaborateur utilisant un fichier
    Bonjour,

    A partir du code de SilkyRoad (http://silkyroad.developpez.com/VBA/...etesClasseurs/), j'ai pu récupérer certaine information d'un PWP en lecture seule via mon Excel.

    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
        Sub proprietesFichier_getFile(Fichier As String)
            '
            'Nécessite d'activer la référence Microsoft Scripting Runtime
            '
            Dim Cible As Scripting.FileSystemObject
            Dim Valeur As Scripting.File
            Dim Resultat As String
     
            Set Cible = CreateObject("Scripting.fileSystemObject" )
            Set Valeur = Cible.GetFile(Fichier)
     
            Resultat = "Chemin et nom complet : " & Cible.GetAbsolutePathName(Valeur) & Chr(10) & Chr(10) & _
            "Nom fichier : " & Cible.GetFileName(Valeur) & Chr(10) & Chr(10)
     
            MsgBox Resultat
        End Sub
    Quelqu'un sait comment récupérer le nom de la personne utilisant actuellement le PWP ?

    Merci pour votre aide !
    Bonne journée

  2. #2
    Membre émérite
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Points : 2 813
    Points
    2 813
    Par défaut
    Bonjour,

    je sais que
    permet de connaitre le nom de la personne en train d'utiliser un fichier, mais je ne sais pas trop comment spécifier le fichier. En tout cas, tu peux cessayer de chercher de ce côté-là

  3. #3
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    ce qui semble être un exemple appliqué pour un fichier Excel, trouvé chez nos amis anglophones
    l'auteur est signé en en-tête

    reste à retoucher le code pour qu'il s'applique à ton fichier powerpoint ?

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    '=======================================================================================
    '- ACCESS A .XLS FILE TO GET LAST USER NAME
    '- CAN ALSO BE USED IF THE FILE IS IN USE
    '- NB. This code works in XL97 and XL2000 - don't know about others
    '=======================================================================================
    '- NB.1.Cannot get this by *opening* the workbook because we then become the last user.
    '-    2.Not the same as the "Last saved by" property which requires opening the workbook.
    '-    3.No security. A user can change their name temporarily in Tools/Options.
    '=======================================================================================
    '- Last user name is preceded by characters [\][0][p][0][??][0][0]
    '- [??] is a variable character - its code shows the number of characters in the name.
    '- followed by any number of spaces (and can include spaces)
    '- Method : Use a Regular Expression to find the precedes + 50 following characters
    '-          ..... then use the [??] character to extract the string
    '- Brian Baulsom December 2007
    '========================================================================================
    Sub GetLastUser()
        Dim MyFile As String            ' File name
        Dim MyRegExp As Object
        Dim MyLastUser                  ' last user name
        Dim LastUserLen As Integer      ' character 5 name length
        Dim FileString As String        ' file converted to a string in memory
        Dim MyMatches As Variant        ' RegExp array of matches (should only be 1)
        Dim MyLastSaved As String       ' "Last saved by" from properties
        '---------------------------------------------------------------------------------
        ChDrive "F:\"
        ChDir "F:\"
        MyFile = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
        If MyFile = "False" Then End
        '----------------------------------------------------------------------------------
        '- PUT THE FILE INTO MEMORY AND CLOSE IT
        Open MyFile For Binary Access Read Shared As #1
            FileString = Space(LOF(1))
            Get 1, 1, FileString
        Close #1
        '----------------------------------------------------------------------------------
        '- SET UP A REGULAR EXPRESSION
        Set MyRegExp = CreateObject("VbScript.RegExp")
        With MyRegExp
            .Global = True
            .Pattern = "\\\x00p\x00.\x00\x00.{50}"      ' 57 characters should be enough
            Set MyMatches = .Execute(FileString)        ' zero based array
            '------------------------------------------------------------------------------
            '- DISPLAY RESULTS (should only be 1 match = Matches(0))
            '------------------------------------------------------------------------------
            '- check only 1
            If MyMatches.Count <> 1 Then
                MsgBox ("Found " & MyMatches.Count & " matches" & vbCr _
                        & "Only showing first one.")
            End If
            '------------------------------------------------------------------------------
            '- exclude first 7 characters & trailing spaces
            MyLastUser = MyMatches(0)                       ' 57 characters found
            LastUserLen = Asc(Mid(MyLastUser, 5, 1))        ' length of name
            MyLastUser = Mid(MyLastUser, 8, LastUserLen)    ' extract name
            '------------------------------------------------------------------------------
            '- Message
            rsp = MsgBox(MyFile & vbCr & "Last user : " & MyLastUser)
            '--------------------------------------------------------------------------------
            FileString = ""
        End With
        '------------------------------------------------------------------------------------
    End Sub
    '========================================================================================

  4. #4
    Membre du Club
    Femme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2010
    Messages : 90
    Points : 42
    Points
    42
    Par défaut
    Bonjour,

    Merci à vous deux !
    Je teste et je reviens vers vous

    PS : le code est exécuté par Excel (je ne sais pas si j'étais très clair dans mon post)

  5. #5
    Membre du Club
    Femme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2010
    Messages : 90
    Points : 42
    Points
    42
    Par défaut
    Re

    Je viens d'essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        NomUtilisateur = Environ("username")
                        MsgBox NomUtilisateur
    Ca fonctionne merci beaucoup !!!

    Joe ton code avait une erreur du coup je n'ai pas pu le mettre en place

  6. #6
    Membre du Club
    Femme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2010
    Messages : 90
    Points : 42
    Points
    42
    Par défaut
    Pour info Voici le résultat obtenu

    Nom : resultat.PNG
Affichages : 164
Taille : 12,1 Ko

  7. #7
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par cha_choux Voir le message
    Re

    Joe ton code avait une erreur du coup je n'ai pas pu le mettre en place
    M'est avis que le code n'est probablement pas transposable directement à PowerPoint.

    Ceci dit, un code de ce genre qui fonctionne sur un fichier xls, ne fonctionnera probablement pas avec un fichier Excel à 4 lettres. (2007 et suivants)

    Avec Office 2007, Microsoft est passé des formats binaires propriétaires, aux formats Open XML. Ce sont en fait des conteneurs au format zip. Les textes et les données sont tous dans des fichiers XML (de vulgaires fichiers texte écrits dans une "disposition spéciale". Les seules chose au format binaire sont les macros, les images ou les vidéos.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  8. #8
    Membre du Club
    Femme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2010
    Messages : 90
    Points : 42
    Points
    42
    Par défaut
    Bonjour Clement,

    Je n'avais pas vu ta réponse.
    J'ai finalement eu des problèmes puisque ce que je récupérais étais le login windows et non celui de la personne utilisant le PWP

    Voici le nouveau post que j'ai ouvert : https://www.developpez.net/forums/d1...n/#post9137458

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

Discussions similaires

  1. [AC-2003] Récupérer noms et dates des fichiers
    Par EIDER dans le forum VBA Access
    Réponses: 3
    Dernier message: 03/12/2010, 19h31
  2. Réponses: 3
    Dernier message: 01/05/2007, 17h58
  3. [VBA]récupérer nom fichier
    Par jackfred dans le forum Général VBA
    Réponses: 4
    Dernier message: 27/04/2007, 19h57
  4. récupérer nom machine pour nommer fichier
    Par deepwrath dans le forum Linux
    Réponses: 1
    Dernier message: 19/04/2007, 22h54
  5. [VBA-E] récupérer nom utilisateur fichier en lecture seule
    Par cwain dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/01/2007, 15h46

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