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 :

Tracker avec le code de Dave Peterson (OSMachineName & OSUserName)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2007
    Messages : 85
    Par défaut Tracker avec le code de Dave Peterson (OSMachineName & OSUserName)
    Bonjour à tous.

    J'ai mis en place un tracker avec l'aide précieuse de vos intelligeances respective et de ce fameu "Dave Peterson".

    Cf code suivant :

    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
    Declare Function GetComputerName& Lib "kernel32" Alias "GetComputerNameA" (ByVal lbbuffer As String, nSize As Long)
    Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
    Declare Function WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long
    '---------------------------------
    Function OSMachineName() As String
     
    'Num : 00001B1
    'Suivi des Connexions
    'Date de dernière modification : 18/05/2007
     
    'Dave Peterson, mpep
    Dim Buffer As String * 256
    Dim BuffLen As Long
    Dim lngX As Long
    Dim strCompName As String
    BuffLen = 255
    If GetComputerName(Buffer, BuffLen) Then
    OSMachineName = Left(Buffer, BuffLen)
    End If
    End Function
    '---------------------------------
     
    Function OSUserName() As String
     
    'Num : 00001B2
    'Suivi des Connexions
    'Date de dernière modification : 18/05/2007
     
    'Dave Peterson, mpep
    Dim Buffer As String * 256
    Dim BuffLen As Long
    BuffLen = 256
    If GetUserName(Buffer, BuffLen) Then
    OSUserName = Left(Buffer, BuffLen - 1)
    End If
    End Function
    Mon problème est le suivant

    Ce code marche tres bien avec certains ordinateur mais pas du tout avec d'autres. Je supose qu'un module n'est pas installé sur les postes en question.
    Le pb c'est que je ne sais pas lequel.
    D'autre part, le fichier sur lequel je travail doit etre accessible à tous.
    Est-il possible d'importer un module sur un poste n'ayant pas ce module en question à la simple ouverture du fichier.

    En gros il s'agit d'importer le module manquant dans un ordinateur qd l'utilisateur ouvre le fichier.
    (Je ne sais pas si je suis assez clair)


    Si tt cela n'était pas possible, comment emmettre une condition afin d'éviter l'erreur "75" qui apparait sur un poste sans le module?


    Merci de votre aide


    fred

  2. #2
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello, tu peux essayer une autre méthode pour obtenir ces infos ...

    Pour la machine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Environ("ComputerName")
    et pour l'utilisateur

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2007
    Messages : 85
    Par défaut
    Ok merci, je vais essayer ca dessuite, je tiens au courant

    Merci

    A+

    fred

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2007
    Messages : 85
    Par défaut
    heu encore moi :

    je dois les placer ou les codes?

    est-ce que si je fais

    msgbox environ("computername")

    il me ressort le nom de la machine?


    merci

    fred

  5. #5
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Oui, mais ça prenait moins de temps de le tester en direct, plutôt que de l'écrire

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2007
    Messages : 85
    Par défaut
    non, en fait, j'avais fais le test avant, et ca ne marchait pas...

    Je vais revoir le code alors...

    La suite demain.

    En tt cas merci pour ton aide, je te tien informé...


    a+
    fred

Discussions similaires

  1. modifier une CBitmap avec du code
    Par kor6k dans le forum MFC
    Réponses: 4
    Dernier message: 04/12/2005, 15h15
  2. Probleme avec le code
    Par vivu dans le forum C++
    Réponses: 10
    Dernier message: 29/10/2005, 20h52
  3. Ouvrir un son avec un code javscript
    Par alexbubs dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/10/2005, 11h06
  4. coller de div avec un code css identique.
    Par samourai_alex dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 29/07/2005, 20h16
  5. Peut-on faire du son juste avec du code assembleur ?
    Par Rick1602 dans le forum Assembleur
    Réponses: 7
    Dernier message: 26/03/2004, 17h39

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