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 :

utiliser une fonction [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut utiliser une fonction
    bonjour,

    J'ai dans un module la fonction suivante :

    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
    Declare Function WNetGetUser Lib "mpr.dll" Alias "WNetGetUserA" (ByVal lpName As String, _
            ByVal lpUserName As String, lpnLength As Long) As Long
    Const NoError = 0
    Function GetUserName()
         Const lpnLength As Integer = 255
         Dim status As Integer
         Dim lpName, lpUserName As String
         lpUserName = Space$(lpnLength + 1)
         status = WNetGetUser(lpName, lpUserName, lpnLength)
         If status = NoError Then
              lpUserName = Left$(lpUserName, InStr(lpUserName, Chr(0)) - 1)
         Else
              MsgBox "Impossible d'obtenir le login."
              End
         End If
         GetUserName = lpUserName
    End Function
    Je voudrais utiliser le résultat pour une recherche dans un tableau dans une feuille et ensuite faire un IF dans workbook open.

    merci pour votre aide.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Je ne vois absolument rien, dans le code que tuè montres, qui appelle la fonction que tu dis utiliser.
    et je vois personnellement encore moins le rapport avec :
    Je voudrais utiliser le résultat pour une recherche dans un tableau dans une feuille et ensuite faire un IF dans workbook open.
    De deux choses l'une, alors :
    - ou je suis devenu gaga
    - ou tu ne sais pas exposer clairement la difficulté rencontrée, tenants et aboutissants compris.
    A moins d'une réponse claire et complète en ce qui concerne cet aspect, je m'abstiendrai de revenir dans cette discussion (et en suis désolé).

  3. #3
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    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 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    tu cherches ici à retrouver le nom de l'utilisateur (utilisateur compte Windows ?)


    regarde du côté de la fonction ENVIRON() quand tu lui demande la variable environnement "USERNAME"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Msgbox Environ("USERNAME")
    ce serait dommage de rester sur une manipulation d'API quand c'est pas nécessaire

    ensuite, disposant de ton nom d'utilisateur, il ne te reste qu'à rechercher sa présence dans ton tableau au moyen de la méthode FIND appliqué sur ton range "Tableau"

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

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour,
    Quelle est ta question? Où est-ce que tu bloques?
    Utiliser une fonction dans une procédure se fait simplement de la façon suivante:
    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
    'Fonction
    Function testAdditionner(k As Integer, m As Integer) As Integer
       testAdditionner = k + m
    End Function
     
    'Sub dans lequel tu veux utiliser la fonction
    Sub testFct()
       Dim i As Integer
       Dim a As Integer
       Dim b As Integer
     
       'pour le test, donnons des valeurs fixes à a et b:
       a = 1
       b = 2
     
       i = testAdditionner(a, b)
       'ou encore avec un message box:
       MsgBox testAdditionner(a, b)
       'avec un if:
       If testAdditionner(a, b) > 2 Then
          MsgBox "Le résultat est > 2"
       End If
    End Sub

  5. #5
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    Merci joe

    problème résolu

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

Discussions similaires

  1. [WD9] Utiliser une fonction d'un ActiveX avec pointeur
    Par archimor dans le forum WinDev
    Réponses: 3
    Dernier message: 21/03/2006, 00h41
  2. [Débutant] Déclarer, utiliser une fonction
    Par Hokagge dans le forum Langage
    Réponses: 7
    Dernier message: 14/03/2006, 08h03
  3. Réponses: 10
    Dernier message: 10/02/2006, 14h23
  4. DAO impossible d'utiliser une fonction dans un requete
    Par exter666 dans le forum VBA Access
    Réponses: 10
    Dernier message: 24/09/2005, 17h15
  5. Utiliser une fonction
    Par MaxiMax dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/08/2005, 07h53

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