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 :

Erreur de compilation dans un code qui pourtant fonctionne [AC-2007]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 49
    Par défaut Erreur de compilation dans un code qui pourtant fonctionne
    Bonjour,

    J'ai inséré ce code pour générer automatiquement une valeur dans un champ de table, via un sous-formulaire de saisie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub PVTTC_Enter()
        If Nz(Me.PVTTC, 0) = 0 Then
        Me.PVTTC = Nz(Me.Tarif_sur_place, 0) * Nz(Me.taux_tva, 0)
    End If
    End Sub
    Le code fonctionne parfaitement mais quand je compile, j'ai toujours un message d'erreur : Utilisation incorrecte du mot clé Me (celui qui est en rouge).
    C'est problématique car je dois installer ma base en runtime et le code doit donc être "propre".

    Je n'y comprends rien, pouvez-vous m'aider, SVP
    Merci d'avance
    Catherine

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Par défaut
    Salut l'auvergnate !

    Ce code est dans un module de formulaire ou un module classique ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 49
    Par défaut
    Bonjour !

    Ben, j'en sais trop rien

    Il est dans un module qui s'appelle PVTTC alors que les autres s'appelle Module1... jusqu'à Module4.

    Dans la fenêtre du VBA j'ai l'arborescence suivante

    TEST(FacturationXYZ)

    Microsoft Office Access Objets de classe (avec les noms de mes différents formulaires)
    Form_Comptoir
    Form_E_Accueil
    etc...

    Modules
    Module1
    Module2
    Module3
    Module4
    PVTTC

    Honnêtement, tout ça s'est un peu créé tout seul ; je sais rentrer un peu code dans certains cas, en parti grâce à ce forum d'ailleurs, mais je n'ai pas encore eu le temps de me former au VBA

  4. #4
    Expert confirmé
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Par défaut
    Bonsoir,

    "Me" fait référence à l'objet actif. Cette syntaxe est donc utilisable dans un module de formulaire / d'état.

    Microsoft Office Access Objets de classe (avec les noms de mes différents formulaires)
    Form_Comptoir
    Form_E_Accueil
    etc...
    Etant donné que ton code est dans un module "standard", tu ne peux pas utiliser ce genre de syntaxe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.NomduControle = ....
    devient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!NomDuFormulaire.NomduControle = ....
    Un tutoriel absolument indispensable ; Les syntaxes d'appel : Interaction des formulaires et états.

    Domi2

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 49
    Par défaut Merci !
    J'ai changé le code de place et ça marche !
    Bon, il y a bien aussi certains autres codes, dans des modules de formulaires, où il ne voulait pas du "Me", je l'ai enlevé et ça fonctionne, il n'y a plus de problème.
    Et j'ai appris quelque chose, chouette !
    Mais qu'est-ce que je trouve ça dur, le VBA !

    Merci encore
    Catherine

    Citation Envoyé par Domi2 Voir le message
    Bonsoir,

    "Me" fait référence à l'objet actif. Cette syntaxe est donc utilisable dans un module de formulaire / d'état.



    Etant donné que ton code est dans un module "standard", tu ne peux pas utiliser ce genre de syntaxe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.NomduControle = ....
    devient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!NomDuFormulaire.NomduControle = ....
    Un tutoriel absolument indispensable ; Les syntaxes d'appel : Interaction des formulaires et états.

    Domi2

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

Discussions similaires

  1. [XL-2010] J'ai une erreur de compilation dans un de mes code VBA codes
    Par laitram69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/04/2012, 10h19
  2. [Simulink][Débutante] Erreur de compilation dans un code
    Par karamellati dans le forum MATLAB
    Réponses: 4
    Dernier message: 30/05/2007, 11h47
  3. Trouvez une erreur de conception dans un code
    Par ultimate_manx dans le forum C
    Réponses: 11
    Dernier message: 02/05/2007, 22h37
  4. Réponses: 24
    Dernier message: 13/12/2006, 13h54
  5. [Servlet][Compilation] Erreur de compil dans code servlet
    Par gandalf_le_blanc dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 13/05/2004, 10h17

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