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 lors du lancement d'une macro [AC-2007]


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 38
    Points : 29
    Points
    29
    Par défaut erreur lors du lancement d'une macro
    Bonjour,

    Je débute en VBA et sur MS Access. Et là je bloque.... ^^'
    But de la macro : changer la couleur de fond d'un rectangle (Box_ps_state) en fonction du choix effectué dans une lise déroulante (ps_state, au choix Done, In progress ou Undone). Je passe par l'event Onchange.

    Voici ce que j'ai mis dans l'éditeur VBA:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub ps_state_Change()
     
        Select Case ps_state
            Case "Done"
                Box_ps_state.BackColor = Color.green
            Case "Undone"
                Box_ps_state.BackColor = Color.red
            Case "In progress"
                Box_ps_state.BackColor = Color.yellow
            Case Else
                Box_ps_state.BackColor = Color.none
     
    End Sub
    Voici l'erreur affichée: "Compil error : Invalid qualifier" (et ça surligne la première ligne : private sub....)
    J'ai cherché un peu partout mais je n'arrive pas à comprendre ce qui pêche.

    Une idée?

    Merci d'avance pour le coup de pouce

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

    Déjà il te manque un End Select.

    Philippe

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 38
    Points : 29
    Points
    29
    Par défaut
    ouaip,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     Private Sub ps_state_Change()
     
      Select Case ps_state
            Case "Done"
                Box_ps_state.BackColor = Color.green
            Case "Undone"
                Box_ps_state.BackColor = Color.red
            Case "In progress"
                Box_ps_state.BackColor = Color.yellow
            Case Else
                Box_ps_state.BackColor = Color.none
        End Select
     
    End Sub
    Tjrs le même problème par contre

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur Pilotage
    Inscrit en
    Avril 2009
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur Pilotage
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 405
    Points : 1 063
    Points
    1 063
    Par défaut
    Bonjour,

    Et si vous remplaciez l'évenement OnChange par l'évenement OnClick ?

    Cdt

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 38
    Points : 29
    Points
    29
    Par défaut
    J'ai essayé différents types d'évènements.
    sans succès.
    Le problème est tjrs le même.

    Quand je passe en mode "View", modifie la sélection dans ma liste déroulante.
    L'erreur "invalid qualifier" (+ première ligne surlignée) apparait dans la console vba.

    .....

  6. #6
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 38
    Points : 29
    Points
    29
    Par défaut
    Voici l'intégralité de mon code (j'ai aussi mis une horloge qui marche)
    Events : Onclick, Ontimer and Timer interval (1000)
    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
    Private Sub Form_Click()
    Select Case ps_state
            Case "Done"
                Box_ps_state.BackColor = Color.green
            Case "Undone"
                Box_ps_state.BackColor = Color.red
            Case "In progress"
                Box_ps_state.BackColor = Color.yellow
            Case Else
                Box_ps_state.BackColor = Color.none
        End Select
    End Sub
     
     
    Private Sub Form_Timer()
        Me!lblClock.Caption = Format(Now, "dddd, mmm d yyyy, hh:mm:ss AMPM")
    End Sub
    Il semblerait que le problème viennent des évènements sélectionnés.... Si je choisi parmi la liste d'events spécifique (à la liste déroulante), ça bug.
    Si je choisi parmi la liste d'events complète (qui concerne toute la page), à priori pas d'erreur mais pas de changement de couleur non plus.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Re

    Utilises l'évènement AfterUpdate de ta liste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub ps_state_AfterUpdate()
     
      Select Case me.ps_state.Value
            Case "Done"
                Box_ps_state.BackColor = Color.green
            Case "Undone"
                Box_ps_state.BackColor = Color.red
            Case "In progress"
                Box_ps_state.BackColor = Color.yellow
            Case Else
                Box_ps_state.BackColor = Color.none
        End Select
     
    End Sub
    Philippe

  8. #8
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 38
    Points : 29
    Points
    29
    Par défaut
    Re,
    Merci pour ta réponse (à priori j'avais des erreurs au niveau des couleurs)
    Cependant, j'ai exactement le même problème qu'au début : "invalid qualifier" :s
    (Est ce que ton code marche sur ta machine?)

    Je me demande si ça ne marcherait pas mieux avec un groupe d'options plutôt qu'une liste déroulante. Donc je réessaye.
    J'ai tenté de faire un groupe d'option sous access 07 : je crée un rectangle groupe d'options (frame443) dans Form puis je mets des bouttons options(Option445, 447, 449) à l'intérieur ainsi qu'un label (lbl1).
    Je tente ce code sans succès (est ce que j'ai fais une erreur de language?):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub Option445_Click()
    Me.lbl1.BackColor = Color.Green
    End Sub
    Private Sub Option447_Click()
    Me.lbl1.BackColor = Color.red
    End Sub
    Quand je clique sur le bouton--> rien, je me demande si je ne dois pas préciser dans le code que le bouton Option est dans le cadre Frame443...

    Je n'ai pas de contraintes concernant la façon dont le choix doit s'effectuer : par un groupe d'options, un menu déroulant ou autres.
    Mais je ne dois permettre au final qu'un seul choix, ex : a ou b ou c mais pas a/b etc. et ce choix doit entrainer le changement de couleur d'une box, quelqu'elle soit (label, bt...), sur la page... (l'étape suivante sera d'entrainer un changement de couleur d'une box suplémentaire, qui elle sera sur un autre formulaire).
    Si quelqu'un a une solution/un exemple... qui marche, je suis tout preneur ^^''

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

Discussions similaires

  1. Erreur lors du lancement d'une servlet
    Par Tyra3l dans le forum Java EE
    Réponses: 2
    Dernier message: 06/03/2012, 21h11
  2. [AC-2000] Message d'erreur lors du lancement d'une macro contenue dans un module
    Par Tydher dans le forum VBA Access
    Réponses: 3
    Dernier message: 24/08/2011, 14h29
  3. Erreur lors du lancement d'une UserForm exporté
    Par monichou86 dans le forum Conception
    Réponses: 1
    Dernier message: 15/12/2009, 15h56
  4. erreur lors du lancement d'une application vb.net
    Par amarige dans le forum VB.NET
    Réponses: 7
    Dernier message: 05/05/2009, 14h07
  5. Erreur lors du lancement d'une application
    Par mouloudéen dans le forum Access
    Réponses: 1
    Dernier message: 09/10/2006, 02h57

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