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

VBA Access Discussion :

Utiliser une fonction dans un module


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 28
    Par défaut Utiliser une fonction dans un module
    Bonjour à tous,

    J'ai créé dans un module une fonction quis'appelle saison.

    J'arrive à utiliser cette fonction dans une requête, mais malheureusement, je n'arrive pas à l'utiliser au sein d'une procèdure vb (sub).

    Quelqu'un sait-il comment faire ?

    Merci de votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Peux-tu nous expliquer comment est ta fonction (déclaration, emplacement), et comment tu essayes de l'utiliser (avec code etc...)

    Sinon, je ne vois pas ce que les membres peuvent faire pour t'aider, il faut mettre plus de renseignements.

    Starec

  3. #3
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 28
    Par défaut
    Bonjour Starec,

    Les détails demandés sont les suivants :

    *Detail de la fonction créée

    J'ai créée cette fonction dans un module.

    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
    Public Function Surface(surf)
     
    Select Case surf
     
    Case 1 To 50
    Surface = "Su1"
     
    Case 50 To 60
    Surface = "Su2"
     
    Case 60 To 70
    Surface = "Su3"
     
    Case Else 'cas où la taille est supérieure à 70m²
    Surface = "Su4"
     
    End Select
     
     
    End Function
    * utilisation de la fonction

    Dans un formulaire j'ai un champ dans lequel j'entre la surface. Ensuite sur l'action après mise à jour du champ je voudrais appeler la fonction afin qu'un autre champ indique le groupe de regroupement de surface.

    A l'heure actuelle pour faire cette opération, j'ai tout simplement recopier le code de ma fonction dans ma procèdure, comme indiqué ci-dessous :

    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
    Private Sub Surface_AfterUpdate()
     
    Me.GpSurface.Value = 0
    surf = Me.Surface.Value
     
    Select Case surf
     
    Case 1 To 50
    gpsurf = "Su1"
     
    Case 50 To 60
    gpsurf = "Su2"
     
    Case 60 To 70
    gpsurf = "Su3"
     
    Case Else
    gpsurf = "Su4"
     
    End Select
     
    Me.GpSurface.Value = gpsurf
     
    End Sub
    J'espère que c'est un peu plus clair que le post précédent.

    En tout cas, merci pour ton aide starec.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Par défaut
    Bonjour,

    Comme Starec est parti se coucher , je me permets d'intervenir:
    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Surface_AfterUpdate()  
      Me.GpSurface.Value = Surface(Me.Surface.Value)
    End Sub

  5. #5
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 28
    Par défaut
    Merci =JOB=


    A vous deux vous faites les 3 huits... ;-)

    J'ai utilisé ton code, malheureusement, j'ai un message d'erreur qui dit incompatibilité de type au moment d'utiliser la fonction...

    Je vois pas où ça déconne.....

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Par défaut
    Hello,
    Citation Envoyé par formidable78 Voir le message
    Merci =JOB=
    J'ai utilisé ton code, malheureusement, j'ai un message d'erreur qui dit incompatibilité de type au moment d'utiliser la fonction...
    Qu'est ce que << utiliser la fonction >> veut dire:
    (1) à la compilation ?
    (2) à l'exécution ?

    Si c'est à la compilation, le curseur est immédiatement placé sur la ligne incriminée: quelle est cette ligne ?

    Si c'est à l'exécution, la fenêtre qui affiche l'erreur doit te proposer d'effectuer un débogage et ainsi te placer dans le code à l'endroit qui provoque l'erreur: quel est ce code ?

    Merci de ta réponse.
    _

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

Discussions similaires

  1. Comment utiliser une fonction dans une fonction
    Par hatenaku dans le forum Langage
    Réponses: 3
    Dernier message: 19/04/2008, 20h00
  2. Comment utiliser une fonction dans une classe.
    Par metalamania dans le forum wxPython
    Réponses: 5
    Dernier message: 17/02/2008, 17h50
  3. Executer une fonction dans un module pas encore importe
    Par Aragorn_destroy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/06/2007, 14h21
  4. [VB6] Appel d'une fonction dans un module d'une dll
    Par speedster dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/06/2006, 17h37
  5. 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

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