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 :

Selection multiple dans zone de liste : "Erreur de compilation Variable non définie" [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2014
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Antilles Néerlandaises

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2014
    Messages : 73
    Points : 62
    Points
    62
    Par défaut Selection multiple dans zone de liste : "Erreur de compilation Variable non définie"
    Bonjour,

    j'ai crée mes zones de listes et mes requêtes et voici mon code vba 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
    25
    26
    27
    28
    Private Sub lstRayon_Click()
        Dim l_strSql As String
        Dim l_strIn As String
        Dim l_intItem As Integer
     
        ' parcours de la liste pour récupérer le code sélectionné
        For l_intItem = 0 To Me.LstRayon.ListCount - 1
            If Me.LstRayon.Selected(l_intItem) = True Then
                ' Création du critère : IN(val1, val2, ...)
                l_strIn = l_strIn & Me.LstRayon.Column(1, l_intItem) & ","
            End If
        Next
        ' Suppression du dernier caractère de la chaine critère
        l_strln = "025096,"
     
        If Len(l_strIn) > 0 Then
        l_strIn = Left(l_strIn, Len(l_strIn) - 1)
        ' Génération de la séquence SQL
        l_strSql = "SELECT [Code1] & [Code2] AS FamSFam, Pgsfamille.DesignSFam, Pgsfamille.SecteurRayon " _
                     & "FROM Pgsfamille " _
                     & "WHERE (((Pgsfamille.SecteurRayon)='" & l_strSql & "'));"
     
        'Mise à jour de la liste
        Me.LstFam.RowSourceType = "Table/Query"
        Me.LstFam.RowSource = l_strSql
        Me.LstFam.Requery
        End If
    End Sub

    Si je remplace la variable l_strSql dans la séquence SQL, par le code rayon 025096 ça marche ma zone de liste est correctement filtré. Lorsque je remplace 025096 par la variable cette fois ci le message d'erreur ci-dessus s'affiche. Du coup j'ai essayé de dire que l_strsql = "025096" pour tester mais ça ne change rien. Il y a peut être une référence à activer ?

    J'ai activé :

    Visual basic for applications
    Microsoft Access 12.0 objectif library
    OLE Automation
    Microsoft DAO 3.6 Object Library
    Microsoft ActiveX Data objects 2.5 Library
    Microsoft Outlook 12.0 Object library
    Microsoft CDO for windows 2000 library
    Microsoft Excel 12.0 object library
    Microsoft Scripting runtime


    Si quelqu'un à une idée je lui en serait reconnaissant je suis bloqué et c'est la première fois que j'essaie de faire des formulaires et des zones de listes (en plus à choix multiple) donc je n'ai peut être pas les bons réflexes pour corriger le code.

    un grand merci d'avance

  2. #2
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2014
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Antilles Néerlandaises

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2014
    Messages : 73
    Points : 62
    Points
    62
    Par défaut
    Je devrais tourné 7 fois le problème dans ma tête avant de poster... la variable était mal orthographiée...
    Le code fonctionne super. Pour ceux que ça intéresse je vous invite à regarder le lien suivant:

    http://www.developpez.net/forums/d94...e-base-access/

    et à télécharger le fichier d'exemple posté par Jeannot à la fin du fil de discussion.
    ça aide beaucoup à comprendre le fonctionnement des listes déroulantes multiples.

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

Discussions similaires

  1. [AC-2007] Erreur de compilation: Variable non définie
    Par m1koo dans le forum VBA Access
    Réponses: 7
    Dernier message: 11/01/2014, 18h21
  2. [XL-2010] Erreur de compilation : variable non définie sur un textbox
    Par Bricomachin dans le forum Excel
    Réponses: 4
    Dernier message: 12/04/2013, 11h56
  3. [XL-2002] Impression en PDF suite à sélection multiple dans zone de liste
    Par lumpys dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 20/10/2011, 21h15
  4. Erreur de compilation : Variable non définie
    Par Smallstone dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 12/07/2011, 08h32
  5. erreur de compilation variable non defini
    Par nabelou1 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/01/2009, 16h43

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