ACCESS VBA Impossible d'attribuer une valeur.
Fermé
crazybear
Messages postés
9
Date d'inscription
lundi 14 mars 2005
Statut
Membre
Dernière intervention
24 mars 2005
-
24 mars 2005 à 09:38
fkuchta - 29 juil. 2008 à 17:11
fkuchta - 29 juil. 2008 à 17:11
A voir également:
- Apigetusername
- Exemple base de données access à télécharger gratuit - Forum Access
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Incompatibilité de type vba ✓ - Forum Programmation
- Attribuer une sonnerie à un contact - Guide
- Excel renvoyer la valeur d'une cellule en fonction d'une autre - Forum Logiciels
7 réponses
Utilisateur anonyme
24 mars 2005 à 10:32
24 mars 2005 à 10:32
Il manque quelque chose dans le code de ton module.
Tu déclares une fonction externe GetUserName. Tu l'appels par un Call ??? dans une fonction qui n'est pas déclarée.
Que veux tu faire au juste?
Quel environement utilises-tu? Access 2000, Excel... ?
Tu déclares une fonction externe GetUserName. Tu l'appels par un Call ??? dans une fonction qui n'est pas déclarée.
Que veux tu faire au juste?
Quel environement utilises-tu? Access 2000, Excel... ?
Canard007
Messages postés
5929
Date d'inscription
mercredi 26 mai 2004
Statut
Contributeur
Dernière intervention
18 septembre 2009
215
24 mars 2005 à 09:40
24 mars 2005 à 09:40
c'est possible de voir le code de ta macro?
crazybear
Messages postés
9
Date d'inscription
lundi 14 mars 2005
Statut
Membre
Dernière intervention
24 mars 2005
24 mars 2005 à 09:46
24 mars 2005 à 09:46
Du module?
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
On Error GoTo Err_yGetUserName
' Declare the variables
Dim strBuffer As String
Dim lngSize As Long
' Initialise the variables
strBuffer = Space$(255)
lngSize = Len(strBuffer)
' Load the user name with the Windows API function
Call GetUserName(strBuffer, lngSize)
If lngSize > 0 Then
yGetUserName = Left$(strBuffer, lngSize - 1)
Else
yGetUserName = vbNullString
End If
Exit_yGetUserName:
Exit Function
Err_yGetUserName:
MsgBox Err.Description
Resume Exit_yGetUserName
End Function
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
On Error GoTo Err_yGetUserName
' Declare the variables
Dim strBuffer As String
Dim lngSize As Long
' Initialise the variables
strBuffer = Space$(255)
lngSize = Len(strBuffer)
' Load the user name with the Windows API function
Call GetUserName(strBuffer, lngSize)
If lngSize > 0 Then
yGetUserName = Left$(strBuffer, lngSize - 1)
Else
yGetUserName = vbNullString
End If
Exit_yGetUserName:
Exit Function
Err_yGetUserName:
MsgBox Err.Description
Resume Exit_yGetUserName
End Function
crazybear
Messages postés
9
Date d'inscription
lundi 14 mars 2005
Statut
Membre
Dernière intervention
24 mars 2005
24 mars 2005 à 10:10
24 mars 2005 à 10:10
SVP, est ce que qqn peut m aider c URGENT! merci.
Utilisateur anonyme
24 mars 2005 à 10:35
24 mars 2005 à 10:35
Voici un exemple qui marche:
Tu remarqueras que "apiGetUserName " est une fonction et ne peut donc pas être appelées par un Call étant donné qu'elle renvois une valeur.
Dans ton code tu utilises une variable "yGetUserName" qui n'est pas déclarée???
Ta fonction n'a pas été déclarée non plus. Bref je comprends que ça ne marche pas.
Private Declare Function apiGetUserName Lib "advapi32.dll" Alias _ "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Public Function fOSUserName() As String Dim lngLen As Long, lngX As Long Dim strUserName As String strUserName = String$(254, 0) lngLen = 255 lngX = apiGetUserName(strUserName, lngLen) fOSUserName = Left$(strUserName, lngLen - 1) End Function
Tu remarqueras que "apiGetUserName " est une fonction et ne peut donc pas être appelées par un Call étant donné qu'elle renvois une valeur.
Dans ton code tu utilises une variable "yGetUserName" qui n'est pas déclarée???
Ta fonction n'a pas été déclarée non plus. Bref je comprends que ça ne marche pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
crazybear
Messages postés
9
Date d'inscription
lundi 14 mars 2005
Statut
Membre
Dernière intervention
24 mars 2005
24 mars 2005 à 10:53
24 mars 2005 à 10:53
Je suis désolé mais votre solution ne fonctionne pas, le resultat est le meme.
Utilisateur anonyme
24 mars 2005 à 10:57
24 mars 2005 à 10:57
Quel est le message d'erreur exact?
A quelle ligne se positionne l'erreur?
As tu bien specifier "Public" devant le nom de la fonction?
A quelle ligne se positionne l'erreur?
As tu bien specifier "Public" devant le nom de la fonction?
crazybear
Messages postés
9
Date d'inscription
lundi 14 mars 2005
Statut
Membre
Dernière intervention
24 mars 2005
24 mars 2005 à 11:15
24 mars 2005 à 11:15
Solution trouvée! Merci à tous!
Meilleures salutations
Bonne journée
Meilleures salutations
Bonne journée